diff options
Diffstat (limited to 'lang/gcc44')
| -rw-r--r-- | lang/gcc44/Makefile | 24 | ||||
| -rw-r--r-- | lang/gcc44/distinfo | 10 | ||||
| -rw-r--r-- | lang/gcc44/files/alpha-freebsd.h | 132 | ||||
| -rw-r--r-- | lang/gcc44/files/patch-ad | 30 | ||||
| -rw-r--r-- | lang/gcc44/files/patch-af | 25 | ||||
| -rw-r--r-- | lang/gcc44/files/patch-ak | 26 | ||||
| -rw-r--r-- | lang/gcc44/files/patch-al | 26 | ||||
| -rw-r--r-- | lang/gcc44/files/patch-fa | 70 | ||||
| -rw-r--r-- | lang/gcc44/files/patch-va | 20 | 
9 files changed, 86 insertions, 277 deletions
| diff --git a/lang/gcc44/Makefile b/lang/gcc44/Makefile index 2e1cc84f07be..41832fb0d06b 100644 --- a/lang/gcc44/Makefile +++ b/lang/gcc44/Makefile @@ -6,7 +6,7 @@  # $FreeBSD$  # -SNAPDATE=	2000-10-02 +SNAPDATE=	2000-11-20  SNAPVER=	${SNAPDATE:S/-//g}  PORTNAME=	gcc-devel @@ -18,25 +18,30 @@ MASTER_SITES=	ftp://ftp.freesoftware.com/pub/sourceware/gcc/snapshots/${SNAPDATE  		ftp://ftp.iij.ad.jp/pub/egcs/snapshots/${SNAPDATE}/ \  		ftp://ftp.yggdrasil.com/mirrors/site/egcs.cygnus.com/pub/egcs/snapshots/${SNAPDATE}/  \   		ftp://ftp.fu-berlin.de/unix/languages/egcs/snapshots/ -DISTFILES=	egcs-core-${SNAPVER}${EXTRACT_SUFX} \ -		egcs-g++-${SNAPVER}${EXTRACT_SUFX} \ -		egcs-g77-${SNAPVER}${EXTRACT_SUFX} \ -		egcs-java-${SNAPVER}${EXTRACT_SUFX} \ -		egcs-objc-${SNAPVER}${EXTRACT_SUFX} +DISTFILES=	gcc-core-${SNAPVER}${EXTRACT_SUFX} \ +		gcc-g++-${SNAPVER}${EXTRACT_SUFX} \ +		gcc-g77-${SNAPVER}${EXTRACT_SUFX} \ +		gcc-java-${SNAPVER}${EXTRACT_SUFX} \ +		gcc-objc-${SNAPVER}${EXTRACT_SUFX}  MAINTAINER=	obrien@FreeBSD.org  NO_CDROM=	'dated material' +##WRKSRC=		${WRKDIR}/gcc-${SNAPVER} +##CONFIGURE_WRKSRC=	${WRKDIR}/build +##BUILD_WRKSRC=		${WRKDIR}/build +##INSTALL_WRKSRC=		${WRKDIR}/build +##CONFIGURE_SCRIPT=	${WRKSRC}/configure  EGCS_REV=	2.97  LIBSTDCPP_REV=	4 -SRCDIR=		${WRKDIR}/egcs-${SNAPVER} +SRCDIR=		${WRKDIR}/gcc-${SNAPVER}  WRKSRC=		${WRKDIR}/build  PATCH_ARGS=	-d ${SRCDIR} -E ${PATCH_STRIP}  .if !defined(PATCH_DEBUG)  PATCH_ARGS+=	--forward --quiet  .endif -CONFIGURE_SCRIPT=	../egcs-${SNAPVER}/configure +CONFIGURE_SCRIPT=	../gcc-${SNAPVER}/configure  .include <bsd.port.pre.mk> @@ -68,9 +73,10 @@ pre-configure:  	@(MAJ=`sysctl -n kern.osreldate | ${SED} -e '/.....$$/s///'` ; \  	    ${PERL} -pi.orig -e "s:__FreeBSD__:__FreeBSD__=$${MAJ}:" \  	    ${SRCDIR}/gcc/config/freebsd.h ) -	@${CP} ${FILESDIR}/alpha-freebsd.h ${SRCDIR}/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  	@touch ${SRCDIR}/gcc/configure  	@touch ${SRCDIR}/gcc/cstamp-h.in  	@${MKDIR} ${CONFIGURE_WRKSRC} diff --git a/lang/gcc44/distinfo b/lang/gcc44/distinfo index ae27d54caced..498df7e96354 100644 --- a/lang/gcc44/distinfo +++ b/lang/gcc44/distinfo @@ -1,5 +1,5 @@ -MD5 (egcs-core-20001002.tar.gz) = 5b3bc1987fd61e10062823efe4b613c3 -MD5 (egcs-g++-20001002.tar.gz) = b9b73a770fe644e90d5285bf624b7ac9 -MD5 (egcs-g77-20001002.tar.gz) = cc7e8da8780a05e7f1106e33fa5aa432 -MD5 (egcs-java-20001002.tar.gz) = ddcc506af943d3565ed76ed08dd7ca48 -MD5 (egcs-objc-20001002.tar.gz) = f640a7b059001f215c8ed8bb243e5f73 +MD5 (gcc-core-20001120.tar.gz) = f67efcbeed3992408d30d80bbbc1b6ee +MD5 (gcc-g++-20001120.tar.gz) = 0054eb67dfd8024d80c260cbdc2ac6fd +MD5 (gcc-g77-20001120.tar.gz) = 605472386cecfa918b6e15a9ef734ee6 +MD5 (gcc-java-20001120.tar.gz) = 1fd7570d055e62a6cf0eb941e7996190 +MD5 (gcc-objc-20001120.tar.gz) = b056a4a48fadf687138e1b10bd3ce73a diff --git a/lang/gcc44/files/alpha-freebsd.h b/lang/gcc44/files/alpha-freebsd.h deleted file mode 100644 index a227b9444b9e..000000000000 --- a/lang/gcc44/files/alpha-freebsd.h +++ /dev/null @@ -1,132 +0,0 @@ -/* Definitions for DEC Alpha/AXP running FreeBSD using the ELF format -   Copyright (C) 2000 Free Software Foundation, Inc. -   Contributed by BSDi, written by David O'Brien <obrien@FreeBSD.org> - -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.  */ - - -#undef  CPP_PREDEFINES -#define CPP_PREDEFINES \ -  "-D__ELF__ -Dunix -D__FreeBSD__ -Asystem(unix) -Asystem(bsd) -Asystem(FreeBSD)" - -/* Provide a CPP_SPEC appropriate for FreeBSD/alpha.  Besides the dealing with -   the GCC option `-posix', and PIC issues as on all FreeBSD platforms, we must -   deal with the Alpha's FP issues.  */ - -#undef  CPP_SPEC -#define CPP_SPEC "%(cpp_cpu)						\ -  %{fPIC:-D__PIC__ -D__pic__} %{fpic:-D__PIC__ -D__pic__}		\ -  %{posix:-D_POSIX_SOURCE}						\ -  %{mieee:-D_IEEE_FP}							\ -  %{mieee-with-inexact:-D_IEEE_FP -D_IEEE_FP_INEXACT}" - -#undef  LINK_SPEC -#define LINK_SPEC "-m elf64alpha %{G*} %{relax:-relax}			\ -  %{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}}" - -/* 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.  */ -/* Per Richard Henderson <rth@cygnus.com>, it is better to use the `.arch' -   directive in the assembly file.  alpha/elf.h gives us this in -   "ASM_FILE_START". -#undef  ASM_SPEC -#define ASM_SPEC " %| %{mcpu=*:-m%*}" -*/ - -/* XXX, if FreeBSD/Alpha grows a crti.o file, we can use the alpha/elf.h -   definition.  */ -#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'.  */ -/* XXX, if FreeBSD/Alpha grows a crtn.o file, we can use the alpha/elf.h -   definition.  */ - -#undef	ENDFILE_SPEC -#define ENDFILE_SPEC \ -  "%{!shared:crtend.o%s} %{shared:crtendS.o%s}" - - -/************************[  Target stuff  ]***********************************/ - -/* Define the actual types of some ANSI-mandated types.   -   Needs to agree with <machine/ansi.h>.  GCC defaults come from c-decl.c, -   c-common.c, and config/<arch>/<arch>.h.  */ - -/* alpha.h gets this wrong for FreeBSD.  We use the GCC defaults instead.  */ -#undef WCHAR_TYPE - -#undef  WCHAR_UNSIGNED -#define WCHAR_UNSIGNED 0 - -#undef  WCHAR_TYPE_SIZE -#define WCHAR_TYPE_SIZE 32 - -/* Handle cross-compilation on 32-bits machines (such as i386) for 64-bits -   machines (Alpha in this case).  */ - -#if defined(__i386__) -#undef  HOST_BITS_PER_LONG -#define HOST_BITS_PER_LONG	32 -#undef  HOST_WIDE_INT -#define HOST_WIDE_INT		long long -#undef  HOST_BITS_PER_WIDE_INT -#define HOST_BITS_PER_WIDE_INT	64 -#endif - -#undef  TARGET_VERSION -#define TARGET_VERSION fprintf (stderr, " (FreeBSD/alpha ELF)"); - -#define TARGET_ELF		1 - -#undef  TARGET_DEFAULT -#define TARGET_DEFAULT (MASK_FP | MASK_FPREGS | MASK_GAS) - -#undef HAS_INIT_SECTION - -/* 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.  */ -#undef  TARGET_PROFILING_NEEDS_GP -#define TARGET_PROFILING_NEEDS_GP 1 - -/* 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	'?' diff --git a/lang/gcc44/files/patch-ad b/lang/gcc44/files/patch-ad index 53927df88598..d11c865f10fc 100644 --- a/lang/gcc44/files/patch-ad +++ b/lang/gcc44/files/patch-ad @@ -1,20 +1,18 @@ ---- gcc/config/i386/freebsd-aout.h.orig	Mon Sep 25 06:03:18 2000 -+++ gcc/config/i386/freebsd-aout.h	Tue Sep 26 12:23:26 2000 -@@ -31,12 +31,7 @@ +--- gcc/config/i386/freebsd-aout.h.orig	Thu Nov  2 15:29:09 2000 ++++ gcc/config/i386/freebsd-aout.h	Mon Nov 27 01:45:04 2000 +@@ -31,8 +31,11 @@   /* 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) -- --#undef CPP_PREDEFINES --#define CPP_PREDEFINES "-Dunix -D__FreeBSD__\ -- -Asystem(unix) -Asystem(bsd) -Asystem(FreeBSD)" ++/* + #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 */ - /* Like the default, except no -lg.  */ - #define LIB_SPEC "%{!shared:%{!pg:-lc}%{pg:-lc_p}}" -@@ -84,14 +79,6 @@ + #undef CPP_PREDEFINES + #define CPP_PREDEFINES "-Dunix -D__FreeBSD__\ +@@ -84,14 +87,6 @@      necessary when compiling PIC code.  */   #define JUMP_TABLES_IN_TEXT_SECTION 1 @@ -29,7 +27,7 @@   /* 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 -@@ -102,19 +89,18 @@ +@@ -102,19 +97,18 @@   /* Profiling routines, partially copied from i386/osfrose.h.  */ @@ -52,7 +50,7 @@         fprintf (FILE, "\tcall mcount\n");				\       }									\   } -@@ -132,6 +118,7 @@ +@@ -132,6 +126,7 @@   #define TYPE_ASM_OP	"\t.type\t"   #define SIZE_ASM_OP	"\t.size\t" @@ -60,7 +58,7 @@   /* The following macro defines the format used to output the second      operand of the .type assembler directive.  Different svr4 assemblers -@@ -141,6 +128,12 @@ +@@ -141,6 +136,12 @@   #define TYPE_OPERAND_FMT	"@%s" @@ -73,7 +71,7 @@   /* 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.  */ -@@ -242,6 +235,8 @@ +@@ -242,6 +243,8 @@   #define STARTFILE_SPEC  \     "%{shared:c++rt0.o%s} \      %{!shared:%{pg:gcrt0.o%s}%{!pg:%{static:scrt0.o%s}%{!static:crt0.o%s}}}" diff --git a/lang/gcc44/files/patch-af b/lang/gcc44/files/patch-af index f1058d4e21ec..3941ebdce314 100644 --- a/lang/gcc44/files/patch-af +++ b/lang/gcc44/files/patch-af @@ -1,26 +1,15 @@ ---- gcc/config/i386/freebsd.h.orig	Sun Jan 30 23:28:05 2000 -+++ gcc/config/i386/freebsd.h	Fri Feb  4 05:22:36 2000 -@@ -52,6 +52,10 @@ - #undef DBX_REGISTER_NUMBER - #define DBX_REGISTER_NUMBER(n)  svr4_dbx_register_map[n] -  -+/* Don't use EGCS's normal profiling code -- we have our own fine-grained -+   basic block profiling.  */ -+#define NO_PROFILE_COUNTERS -+ - /* Tell final.c that we don't need a label passed to mcount.  */ -  - #undef FUNCTION_PROFILER -@@ -73,11 +77,15 @@ +--- gcc/config/i386/freebsd.h.orig	Thu Nov  2 15:29:09 2000 ++++ gcc/config/i386/freebsd.h	Mon Nov 27 01:52:39 2000 +@@ -76,11 +76,15 @@   #undef WCHAR_TYPE_SIZE   #define WCHAR_TYPE_SIZE BITS_PER_WORD  -      -#undef CPP_PREDEFINES  -#define CPP_PREDEFINES "-Dunix -D__ELF__ -D__FreeBSD__\ -- -Asystem(unix) -Asystem(bsd) -Asystem(FreeBSD)" +- -Asystem=unix -Asystem=bsd -Asystem=FreeBSD" -+#undef CC1_SPEC ++#undef  CC1_SPEC  +#define CC1_SPEC "\  +  %{gline:%{!g:%{!g0:%{!g1:%{!g2: -g1}}}}} \  +  %{maout: %{!mno-underscores: %{!munderscores: -munderscores }}}" @@ -31,7 +20,7 @@   /* Provide a STARTFILE_SPEC appropriate for FreeBSD.  Here we add      the magical crtbegin.o file (see crtstuff.c) which provides part    	of the support for getting C++ file-scope static object constructed  -@@ -85,11 +93,11 @@ +@@ -88,11 +92,11 @@   #undef	STARTFILE_SPEC   #define STARTFILE_SPEC \ @@ -48,7 +37,7 @@   /* Provide a ENDFILE_SPEC appropriate for FreeBSD.  Here we tack on      the magical crtend.o file (see crtstuff.c) which provides part of  -@@ -99,7 +107,7 @@ +@@ -102,7 +106,7 @@   #undef	ENDFILE_SPEC   #define ENDFILE_SPEC \ diff --git a/lang/gcc44/files/patch-ak b/lang/gcc44/files/patch-ak deleted file mode 100644 index 98c373d4e980..000000000000 --- a/lang/gcc44/files/patch-ak +++ /dev/null @@ -1,26 +0,0 @@ ---- gcc/configure.orig	Sun Oct  1 23:50:51 2000 -+++ gcc/configure	Mon Oct  9 18:55:44 2000 -@@ -3910,6 +3910,23 @@ -  			thread_file='posix' -  		fi - 		;; -+	alpha*-*-freebsd*) -+		tm_file="${tm_file} freebsd.h alpha/elf.h alpha/freebsd.h" -+		xm_file="${xm_file} xm-freebsd.h" -+		target_cpu_default="MASK_GAS" -+		tmake_file="t-freebsd alpha/t-crtbe alpha/t-alpha alpha/t-ieee" -+		extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o" -+		xmake_file=none -+		fixincludes=fixinc.wrap -+		gas=yes gnu_ld=yes -+		stabs=yes -+		case x${enable_threads} in -+		xyes | xpthreads | xposix) -+			thread_file='posix' -+			tmake_file="${tmake_file} t-freebsd-thread" -+			;; -+		esac -+		;; - 	alpha*-*-netbsd*) - 		tm_file="${tm_file} alpha/elf.h alpha/netbsd.h alpha/netbsd-elf.h" - 		target_cpu_default="MASK_GAS" diff --git a/lang/gcc44/files/patch-al b/lang/gcc44/files/patch-al deleted file mode 100644 index e2760943566e..000000000000 --- a/lang/gcc44/files/patch-al +++ /dev/null @@ -1,26 +0,0 @@ ---- gcc/configure.in.orig	Sun Oct  1 23:50:51 2000 -+++ gcc/configure.in	Mon Oct  9 18:56:34 2000 -@@ -786,6 +786,23 @@ -  		if test x$enable_threads = xyes; then -  			thread_file='posix' -  		fi -+	alpha*-*-freebsd*) -+		tm_file="${tm_file} freebsd.h alpha/elf.h alpha/freebsd.h" -+		xm_file="${xm_file} xm-freebsd.h" -+		target_cpu_default="MASK_GAS" -+		tmake_file="t-freebsd alpha/t-crtbe alpha/t-alpha alpha/t-ieee" -+		extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o" -+		xmake_file=none -+		fixincludes=fixinc.wrap -+		gas=yes gnu_ld=yes -+		stabs=yes -+		case x${enable_threads} in -+		xyes | xpthreads | xposix) -+			thread_file='posix' -+			tmake_file="${tmake_file} t-freebsd-thread" -+			;; -+		esac -+		;; - 		;; - 	alpha*-*-netbsd*) - 		tm_file="${tm_file} alpha/elf.h alpha/netbsd.h alpha/netbsd-elf.h" diff --git a/lang/gcc44/files/patch-fa b/lang/gcc44/files/patch-fa index d6b90e4ba86c..d04530ab526c 100644 --- a/lang/gcc44/files/patch-fa +++ b/lang/gcc44/files/patch-fa @@ -1,6 +1,6 @@ ---- gcc/c-common.c.orig	Mon Sep 25 10:04:45 2000 -+++ gcc/c-common.c	Mon Oct  9 02:51:14 2000 -@@ -171,7 +171,7 @@ +--- gcc/c-common.c.orig	Thu Nov 16 22:05:12 2000 ++++ gcc/c-common.c	Mon Nov 27 02:25:55 2000 +@@ -193,7 +193,7 @@   						 int, int, int));   static void init_attributes		PARAMS ((void));   static void record_function_format	PARAMS ((tree, tree, enum format_type, @@ -9,7 +9,7 @@   static void record_international_format	PARAMS ((tree, tree, int));   static int default_valid_lang_attribute PARAMS ((tree, tree, tree, tree)); -@@ -862,6 +862,7 @@ +@@ -888,6 +888,7 @@   	    enum format_type format_type;   	    tree argument;   	    unsigned int arg_num; @@ -17,7 +17,7 @@   	    if (TREE_CODE (decl) != FUNCTION_DECL)   	      { -@@ -872,7 +873,7 @@ +@@ -898,7 +899,7 @@   	    if (TREE_CODE (format_type_id) != IDENTIFIER_NODE)   	      { @@ -26,7 +26,7 @@   		continue;   	      }   	    else -@@ -880,12 +881,26 @@ +@@ -906,12 +907,26 @@   		const char *p = IDENTIFIER_POINTER (format_type_id);   		if (!strcmp (p, "printf") || !strcmp (p, "__printf__")) @@ -52,8 +52,8 @@  +		  }   		else   		  { - 		    status_warning (status, "`%s' is an unrecognized format function type", p); -@@ -958,7 +973,8 @@ + 		    warning ("`%s' is an unrecognized format function type", p); +@@ -990,7 +1005,8 @@   	    record_function_format (DECL_NAME (decl),   				    DECL_ASSEMBLER_NAME (decl), @@ -63,7 +63,7 @@   	    break;   	  } -@@ -1441,6 +1457,13 @@ +@@ -1654,6 +1670,13 @@   static const format_char_info print_char_table[] =   { @@ -75,9 +75,9 @@  +#define unextended_print_char_table	(print_char_table + 3)  +#endif     /* C89 conversion specifiers.  */ -   { "di",  0, STD_C89, { T89_I,   T99_I,   T89_I,   T89_L,   T99_LL,  TEX_LL,  T99_SST, T99_PD,  T99_IM  }, "-wp0 +'I", "i" }, -   { "oxX", 0, STD_C89, { T89_UI,  T99_UI,  T89_UI,  T89_UL,  T99_ULL, TEX_ULL, T99_ST,  T99_UPD, T99_UIM }, "-wp0#",    "i" }, -@@ -1526,6 +1549,7 @@ +   { "di",  0, STD_C89, { T89_I,   T99_SC,  T89_S,   T89_L,   T99_LL,  TEX_LL,  T99_SST, T99_PD,  T99_IM  }, "-wp0 +'I", "i" }, +   { "oxX", 0, STD_C89, { T89_UI,  T99_UC,  T89_US,  T89_UL,  T99_ULL, TEX_ULL, T99_ST,  T99_UPD, T99_UIM }, "-wp0#",    "i" }, +@@ -1752,6 +1775,7 @@     enum format_type format_type;	/* type of format (printf, scanf, etc.) */     int format_num;		/* number of format argument */     int first_arg_num;		/* number of first arg (zero for varargs) */ @@ -85,7 +85,7 @@   } function_format_info;   static function_format_info *function_format_list = NULL; -@@ -1570,42 +1594,42 @@ +@@ -1837,42 +1861,42 @@       {         /* Functions from ISO/IEC 9899:1990.  */         record_function_format (get_identifier ("printf"), NULL_TREE, @@ -144,7 +144,7 @@       }     if (flag_hosted && flag_noniso_default_format_attributes) -@@ -1630,12 +1654,13 @@ +@@ -1895,12 +1919,13 @@   static void   record_function_format (name, assembler_name, format_type, @@ -159,7 +159,7 @@   {     function_format_info *info; -@@ -1659,6 +1684,7 @@ +@@ -1924,6 +1949,7 @@     info->format_type = format_type;     info->format_num = format_num;     info->first_arg_num = first_arg_num; @@ -167,17 +167,17 @@   }   /* Record information for the names of function that modify the format -@@ -2019,7 +2045,7 @@ -  -   if (integer_zerop (format_tree)) -     { +@@ -2415,7 +2441,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"); -       return; -     } -   if (TREE_CODE (format_tree) != ADDR_EXPR) -@@ -2340,6 +2366,54 @@ - 		} +  +       /* Skip to first argument to check, so we can see if this format + 	 has any arguments (it shouldn't).  */ +@@ -2611,6 +2637,54 @@ + 	      main_arg_num = opnum + info->first_arg_num - 1;   	    }   	}  +      if (*format_chars == 'b') @@ -229,14 +229,14 @@  +	    }  +	} -       aflag = 0; -  -@@ -2441,7 +2515,7 @@ - 	status_warning (status, "width used with `%c' format", format_char); -       if (index (fci->flags2, '3') != 0 - 	  || (format_char == 'y' && index (flag_chars, 'E'))) --	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 (index (fci->flags2, '2') != 0) - 	status_warning (status, "`%%%c' yields only last 2 digits of year", format_char); +       /* Read any format flags, but do not yet validate them beyond removing + 	 duplicates, since in general validation depends on the rest of +@@ -2984,7 +3058,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/gcc44/files/patch-va b/lang/gcc44/files/patch-va index 48040ffa6e96..9b046ee019fc 100644 --- a/lang/gcc44/files/patch-va +++ b/lang/gcc44/files/patch-va @@ -1,20 +1,20 @@ ---- 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 @@ +--- gcc/Makefile.in.orig	Sat Nov 18 16:30:05 2000 ++++ gcc/Makefile.in	Mon Nov 27 02:29:50 2000 +@@ -863,7 +863,7 @@   	rm -f config.run   $(srcdir)/configure: $(srcdir)/configure.in --	cd $(srcdir); autoconf -+	cd $(srcdir); echo "wants to run autoconf" +-	(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 @@ + gccbug:	$(srcdir)/gccbug.in + 	CONFIG_FILES=gccbug CONFIG_HEADERS= ./config.status  +@@ -882,7 +882,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" +-	(cd $(srcdir) && autoheader) ++	(cd $(srcdir) && echo "wants to run autoheader")   	@rm -f $(srcdir)/cstamp-h.in   	echo timestamp > $(srcdir)/cstamp-h.in   auto-host.h: cstamp-h ; @true | 
