diff options
Diffstat (limited to 'lang/gcc30/files')
-rw-r--r-- | lang/gcc30/files/patch-aa | 12 | ||||
-rw-r--r-- | lang/gcc30/files/patch-ab | 11 | ||||
-rw-r--r-- | lang/gcc30/files/patch-ac | 13 | ||||
-rw-r--r-- | lang/gcc30/files/patch-ad | 118 | ||||
-rw-r--r-- | lang/gcc30/files/patch-af | 141 | ||||
-rw-r--r-- | lang/gcc30/files/patch-ai | 54 | ||||
-rw-r--r-- | lang/gcc30/files/patch-ak | 45 | ||||
-rw-r--r-- | lang/gcc30/files/patch-fa | 232 | ||||
-rw-r--r-- | lang/gcc30/files/patch-fb | 13 | ||||
-rw-r--r-- | lang/gcc30/files/patch-fc | 21 | ||||
-rw-r--r-- | lang/gcc30/files/patch-va | 20 |
11 files changed, 0 insertions, 680 deletions
diff --git a/lang/gcc30/files/patch-aa b/lang/gcc30/files/patch-aa deleted file mode 100644 index 9dc2e19279bb..000000000000 --- a/lang/gcc30/files/patch-aa +++ /dev/null @@ -1,12 +0,0 @@ ---- gcc/cpp.texi.orig Mon Aug 11 08:57:05 1997 -+++ gcc/cpp.texi Sat Jan 10 11:59:15 1998 -@@ -1,5 +1,9 @@ - \input texinfo - @setfilename cpp.info -+@dircategory The egcs enhanced GNU compiler suite -+@direntry -+* cpp: (cpp). The egcs C/C++ preprocessor. -+@end direntry - @settitle The C Preprocessor - - @ignore diff --git a/lang/gcc30/files/patch-ab b/lang/gcc30/files/patch-ab deleted file mode 100644 index f298fd056742..000000000000 --- a/lang/gcc30/files/patch-ab +++ /dev/null @@ -1,11 +0,0 @@ ---- gcc/f/g77.texi.orig Thu Jun 4 03:41:18 1998 -+++ gcc/f/g77.texi Tue Jun 9 17:52:16 1998 -@@ -150,7 +150,7 @@ - - @dircategory Programming - @direntry --* g77: (g77). The GNU Fortran compiler. -+* g77: (g77). The EGCS GNU Fortran compiler. - @end direntry - @node Top, Copying,, (DIR) - @top Introduction diff --git a/lang/gcc30/files/patch-ac b/lang/gcc30/files/patch-ac deleted file mode 100644 index 961874c5c315..000000000000 --- a/lang/gcc30/files/patch-ac +++ /dev/null @@ -1,13 +0,0 @@ ---- gcc/gcc.texi.orig Fri Jan 2 15:38:11 1998 -+++ gcc/gcc.texi Sat Jan 10 11:56:49 1998 -@@ -1,6 +1,10 @@ - >\input texinfo @c -*-texinfo-*- - @c %**start of header - @setfilename gcc.info -+@dircategory The egcs enhanced GNU compiler suite -+@direntry -+* gcc: (gcc). The egcs C/C++ compiler. -+@end direntry - @c @setfilename usegcc.info - @c @setfilename portgcc.info - @c To produce the full manual, use the "gcc.info" setfilename, and diff --git a/lang/gcc30/files/patch-ad b/lang/gcc30/files/patch-ad deleted file mode 100644 index dcddb18e53b4..000000000000 --- a/lang/gcc30/files/patch-ad +++ /dev/null @@ -1,118 +0,0 @@ ---- gcc/config/i386/freebsd-aout.h.orig Tue Mar 23 13:34:48 1999 -+++ gcc/config/i386/freebsd-aout.h Mon Apr 19 15:10:47 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. */ -@@ -246,29 +246,4 @@ - "%{shared:c++rt0.o%s} \ - %{!shared:%{pg:gcrt0.o%s}%{!pg:%{static:scrt0.o%s}%{!static:crt0.o%s}}}" - --/* This is defined when gcc is compiled in the BSD-directory-tree, and must -- * make up for the gap to all the stuff done in the GNU-makefiles. -- */ -- --#ifdef FREEBSD_NATIVE -- --#define INCLUDE_DEFAULTS { \ -- { "/usr/include", 0, 0, 0 }, \ -- { "/usr/include/g++", "G++", 1, 1 }, \ -- { 0, 0, 0, 0} \ -- } -- --#undef MD_EXEC_PREFIX --#define MD_EXEC_PREFIX "/usr/libexec/" -- --#undef STANDARD_STARTFILE_PREFIX --#define STANDARD_STARTFILE_PREFIX "/usr/lib" -- --#if 0 /* This is very wrong!!! */ --#define DEFAULT_TARGET_MACHINE "i386-unknown-freebsd_1.0" --#define GPLUSPLUS_INCLUDE_DIR "/usr/local/lib/gcc-lib/i386-unknown-freebsd_1.0/2.5.8/include" --#define TOOL_INCLUDE_DIR "/usr/local/i386-unknown-freebsd_1.0/include" --#define GCC_INCLUDE_DIR "/usr/local/lib/gcc-lib/i386-unknown-freebsd_1.0/2.5.8/include" --#endif -- --#endif /* FREEBSD_NATIVE */ -+#define MD_STARTFILE_PREFIX "/usr/lib/aout/" diff --git a/lang/gcc30/files/patch-af b/lang/gcc30/files/patch-af deleted file mode 100644 index 5c17489bdb46..000000000000 --- a/lang/gcc30/files/patch-af +++ /dev/null @@ -1,141 +0,0 @@ ---- gcc/config/i386/freebsd.h.orig Fri Apr 9 13:31:31 1999 -+++ gcc/config/i386/freebsd.h Wed Apr 21 17:36:21 1999 -@@ -21,6 +21,17 @@ - the Free Software Foundation, 59 Temple Place - Suite 330, - Boston, MA 02111-1307, USA. */ - -+ -+#include "i386/att.h" /* Use the i386 AT&T assembler syntax */ -+ -+/* Use stabs instead of DWARF debug format. */ -+#undef PREFERRED_DEBUGGING_TYPE -+#define PREFERRED_DEBUGGING_TYPE DBX_DEBUG -+#include "svr4.h" -+ -+/* Get generic FreeBSD definitions. */ -+#include <freebsd.h> -+ - #undef TARGET_VERSION - #define TARGET_VERSION fprintf (stderr, " (i386 FreeBSD/ELF)"); - -@@ -113,22 +124,19 @@ - : ((n) >= FIRST_STACK_REG && (n) <= LAST_STACK_REG) ? (n)+3 \ - : (-1)) - --/* Output assembler code to FILE to increment profiler label # LABELNO -- for profiling a function entry. */ -+/* 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),%%edx\n", \ -- LPREFIX, (LABELNO)); \ -- fprintf (FILE, "\tcall *mcount@GOT(%%ebx)\n"); \ -+ fprintf (FILE, "\tcall *.mcount@GOT(%%ebx)\n"); \ - } \ - else \ - { \ -- fprintf (FILE, "\tmovl $%sP%d,%%edx\n", LPREFIX, (LABELNO)); \ -- fprintf (FILE, "\tcall mcount\n"); \ -+ fprintf (FILE, "\tcall .mcount\n"); \ - } \ - } - -@@ -145,27 +153,31 @@ - #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}" -- --#undef LIB_SPEC --#if 1 --/* We no longer link with libc_p.a or libg.a by default. If you -- * want to profile or debug the C library, please add -- * -lc_p or -ggdb to LDFLAGS at the link time, respectively. -- */ --#define LIB_SPEC \ -- "%{!shared: %{mieee-fp:-lieee} %{p:-lgmon} %{pg:-lgmon} \ -- %{!ggdb:-lc} %{ggdb:-lg}}" -+#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 LIB_SPEC \ -- "%{!shared: \ -- %{mieee-fp:-lieee} %{p:-lgmon -lc_p} %{pg:-lgmon -lc_p} \ -- %{!p:%{!pg:%{!g*:-lc} %{g*:-lg}}}}" -+#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 }}}" -+ -+#undef ASM_SPEC -+#define ASM_SPEC "%{v*: -v} %{maout: %{fpic:-k} %{fPIC:-k}}" -+ - /* Provide a LINK_SPEC appropriate for FreeBSD. Here we provide support - for the special GCC options -static and -shared, which allow us to - link things in one of these three modes by applying the appropriate -@@ -181,13 +193,23 @@ - done. */ - - #undef LINK_SPEC --#define LINK_SPEC "-m elf_i386 %{shared:-shared} \ -- %{!shared: \ -- %{!ibcs: \ -+#define LINK_SPEC "\ -+ %{p:%e`-p' not supported; use `-pg' and gprof(1)} \ -+ %{maout: %{shared:-Bshareable} \ -+ %{!shared:%{!nostdlib:%{!r:%{!e*:-e start}}} -dc -dp %{static:-Bstatic} \ -+ %{pg:-Bstatic} %{Z}} \ -+ %{assert*} %{R*}} \ -+ %{!maout: \ -+ -m elf_i386 \ -+ %{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:-static}}}" -+ %{rdynamic: -export-dynamic} \ -+ %{!dynamic-linker: -dynamic-linker /usr/libexec/ld-elf.so.1}} \ -+ %{static:-Bstatic}}}" - - /* Get perform_* macros to build libgcc.a. */ - -@@ -204,3 +226,15 @@ - else fprintf ((FILE), "\t.p2align %d,,%d\n", (LOG), (MAX_SKIP)); \ - } - #endif -+ -+#undef STARTFILE_SPEC -+#define STARTFILE_SPEC "\ -+ %{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}}" -+ -+#undef ENDFILE_SPEC -+#define ENDFILE_SPEC \ -+ "%{!maout: %{!shared:crtend.o%s} %{shared:crtendS.o%s} crtn.o%s}" diff --git a/lang/gcc30/files/patch-ai b/lang/gcc30/files/patch-ai deleted file mode 100644 index 4395574d635a..000000000000 --- a/lang/gcc30/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/gcc30/files/patch-ak b/lang/gcc30/files/patch-ak deleted file mode 100644 index 37a029c5bb20..000000000000 --- a/lang/gcc30/files/patch-ak +++ /dev/null @@ -1,45 +0,0 @@ ---- gcc/configure.orig Sun Apr 18 02:33:12 1999 -+++ gcc/configure Wed Apr 21 17:32:59 1999 -@@ -3022,6 +3022,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" -@@ -3500,19 +3509,19 @@ - # Next line turned off because both 386BSD and BSD/386 use GNU ld. - # use_collect2=yes - ;; -- i[34567]86-*-freebsdelf*) -- tm_file="i386/i386.h i386/att.h linux.h i386/freebsd-elf.h i386/perform.h" -+ i[34567]86-*-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/freebsd.h i386/perform.h" - # On FreeBSD, the headers are already ok, except for math.h. - fixincludes=fixinc.wrap - extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o" -- tmake_file=i386/t-freebsd -+ tmake_file=t-freebsd - gas=yes - gnu_ld=yes - stabs=yes -- ;; -- i[34567]86-*-freebsd*) -- tm_file=i386/freebsd.h -- tmake_file=i386/t-freebsd - ;; - i[34567]86-*-netbsd*) - tm_file=i386/netbsd.h diff --git a/lang/gcc30/files/patch-fa b/lang/gcc30/files/patch-fa deleted file mode 100644 index 7f5e0e611ae8..000000000000 --- a/lang/gcc30/files/patch-fa +++ /dev/null @@ -1,232 +0,0 @@ ---- gcc/c-common.c.orig Mon Feb 15 16:40:05 1999 -+++ gcc/c-common.c Tue Mar 30 03:35:22 1999 -@@ -61,7 +61,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)); - - /* Keep a stack of if statements. We record the number of compound -@@ -669,6 +669,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; -@@ -682,7 +683,7 @@ - - if (TREE_CODE (format_type_id) != IDENTIFIER_NODE) - { -- error ("unrecognized format specifier"); -+ error_with_decl (decl, "unrecognized format specifier"); - continue; - } - else -@@ -690,12 +691,26 @@ - 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 - { - error ("`%s' is an unrecognized format function type", p); -@@ -766,7 +781,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; - } - -@@ -1010,6 +1026,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" }, -@@ -1070,6 +1091,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; -@@ -1102,25 +1124,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); -@@ -1137,11 +1159,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; - { -@@ -1165,6 +1188,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; - } -@@ -1314,7 +1338,8 @@ - - 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) -@@ -1485,12 +1510,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 -@@ -1535,6 +1561,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; - -@@ -1604,7 +1677,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; diff --git a/lang/gcc30/files/patch-fb b/lang/gcc30/files/patch-fb deleted file mode 100644 index dae6d331898c..000000000000 --- a/lang/gcc30/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/gcc30/files/patch-fc b/lang/gcc30/files/patch-fc deleted file mode 100644 index a3f44c5e158b..000000000000 --- a/lang/gcc30/files/patch-fc +++ /dev/null @@ -1,21 +0,0 @@ ---- gcc/toplev.c.orig Mon Mar 22 15:23:26 1999 -+++ gcc/toplev.c Tue Mar 30 13:13:44 1999 -@@ -754,6 +754,9 @@ - - int flag_no_ident = 0; - -+/* Nonzero means that -Wformat accepts certain system-dependent formats. */ -+int flag_format_extensions = 0; -+ - /* Table of supported debugging formats. */ - static struct - { -@@ -954,6 +957,8 @@ - "Generate code to check every memory access" }, - {"prefix-function-name", &flag_prefix_function_name, 1, - "Add a prefix to all function names" }, -+ {"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, diff --git a/lang/gcc30/files/patch-va b/lang/gcc30/files/patch-va deleted file mode 100644 index 48040ffa6e96..000000000000 --- a/lang/gcc30/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 |