aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lang/gcc-devel/Makefile2
-rw-r--r--lang/gcc-devel/distinfo10
-rw-r--r--lang/gcc-devel/files/patch-ad30
-rw-r--r--lang/gcc-devel/files/patch-af31
-rw-r--r--lang/gcc-devel/files/patch-ar9
-rw-r--r--lang/gcc-devel/files/patch-fa56
-rw-r--r--lang/gcc-devel/pkg-plist22
-rw-r--r--lang/gcc-ooo/Makefile2
-rw-r--r--lang/gcc-ooo/distinfo10
-rw-r--r--lang/gcc-ooo/files/patch-ad30
-rw-r--r--lang/gcc-ooo/files/patch-af31
-rw-r--r--lang/gcc-ooo/files/patch-ar9
-rw-r--r--lang/gcc-ooo/files/patch-fa56
-rw-r--r--lang/gcc-ooo/pkg-plist22
-rw-r--r--lang/gcc/Makefile2
-rw-r--r--lang/gcc/distinfo10
-rw-r--r--lang/gcc/files/patch-ad30
-rw-r--r--lang/gcc/files/patch-af31
-rw-r--r--lang/gcc/files/patch-ar9
-rw-r--r--lang/gcc/files/patch-fa56
-rw-r--r--lang/gcc/pkg-plist22
-rw-r--r--lang/gcc30/Makefile2
-rw-r--r--lang/gcc30/distinfo10
-rw-r--r--lang/gcc30/files/patch-ad30
-rw-r--r--lang/gcc30/files/patch-af31
-rw-r--r--lang/gcc30/files/patch-ar9
-rw-r--r--lang/gcc30/files/patch-fa56
-rw-r--r--lang/gcc30/pkg-plist22
-rw-r--r--lang/gcc31/Makefile2
-rw-r--r--lang/gcc31/distinfo10
-rw-r--r--lang/gcc31/files/patch-ad30
-rw-r--r--lang/gcc31/files/patch-af31
-rw-r--r--lang/gcc31/files/patch-ar9
-rw-r--r--lang/gcc31/files/patch-fa56
-rw-r--r--lang/gcc31/pkg-plist22
-rw-r--r--lang/gcc32/Makefile2
-rw-r--r--lang/gcc32/distinfo10
-rw-r--r--lang/gcc32/files/patch-ad30
-rw-r--r--lang/gcc32/files/patch-af31
-rw-r--r--lang/gcc32/files/patch-ar9
-rw-r--r--lang/gcc32/files/patch-fa56
-rw-r--r--lang/gcc32/pkg-plist22
-rw-r--r--lang/gcc33/Makefile2
-rw-r--r--lang/gcc33/distinfo10
-rw-r--r--lang/gcc33/files/patch-ad30
-rw-r--r--lang/gcc33/files/patch-af31
-rw-r--r--lang/gcc33/files/patch-ar9
-rw-r--r--lang/gcc33/files/patch-fa56
-rw-r--r--lang/gcc33/pkg-plist22
-rw-r--r--lang/gcc34/Makefile2
-rw-r--r--lang/gcc34/distinfo10
-rw-r--r--lang/gcc34/files/patch-ad30
-rw-r--r--lang/gcc34/files/patch-af31
-rw-r--r--lang/gcc34/files/patch-ar9
-rw-r--r--lang/gcc34/files/patch-fa56
-rw-r--r--lang/gcc34/pkg-plist22
-rw-r--r--lang/gcc35/Makefile2
-rw-r--r--lang/gcc35/distinfo10
-rw-r--r--lang/gcc35/files/patch-ad30
-rw-r--r--lang/gcc35/files/patch-af31
-rw-r--r--lang/gcc35/files/patch-ar9
-rw-r--r--lang/gcc35/files/patch-fa56
-rw-r--r--lang/gcc35/pkg-plist22
-rw-r--r--lang/gcc40/Makefile2
-rw-r--r--lang/gcc40/distinfo10
-rw-r--r--lang/gcc40/files/patch-ad30
-rw-r--r--lang/gcc40/files/patch-af31
-rw-r--r--lang/gcc40/files/patch-ar9
-rw-r--r--lang/gcc40/files/patch-fa56
-rw-r--r--lang/gcc40/pkg-plist22
-rw-r--r--lang/gcc41/Makefile2
-rw-r--r--lang/gcc41/distinfo10
-rw-r--r--lang/gcc41/files/patch-ad30
-rw-r--r--lang/gcc41/files/patch-af31
-rw-r--r--lang/gcc41/files/patch-ar9
-rw-r--r--lang/gcc41/files/patch-fa56
-rw-r--r--lang/gcc41/pkg-plist22
-rw-r--r--lang/gcc42/Makefile2
-rw-r--r--lang/gcc42/distinfo10
-rw-r--r--lang/gcc42/files/patch-ad30
-rw-r--r--lang/gcc42/files/patch-af31
-rw-r--r--lang/gcc42/files/patch-ar9
-rw-r--r--lang/gcc42/files/patch-fa56
-rw-r--r--lang/gcc42/pkg-plist22
-rw-r--r--lang/gcc43/Makefile2
-rw-r--r--lang/gcc43/distinfo10
-rw-r--r--lang/gcc43/files/patch-ad30
-rw-r--r--lang/gcc43/files/patch-af31
-rw-r--r--lang/gcc43/files/patch-ar9
-rw-r--r--lang/gcc43/files/patch-fa56
-rw-r--r--lang/gcc43/pkg-plist22
-rw-r--r--lang/gcc44/Makefile2
-rw-r--r--lang/gcc44/distinfo10
-rw-r--r--lang/gcc44/files/patch-ad30
-rw-r--r--lang/gcc44/files/patch-af31
-rw-r--r--lang/gcc44/files/patch-ar9
-rw-r--r--lang/gcc44/files/patch-fa56
-rw-r--r--lang/gcc44/pkg-plist22
-rw-r--r--lang/gcc45/Makefile2
-rw-r--r--lang/gcc45/distinfo10
-rw-r--r--lang/gcc45/files/patch-ad30
-rw-r--r--lang/gcc45/files/patch-af31
-rw-r--r--lang/gcc45/files/patch-ar9
-rw-r--r--lang/gcc45/files/patch-fa56
-rw-r--r--lang/gcc45/pkg-plist22
-rw-r--r--lang/gcc46/Makefile2
-rw-r--r--lang/gcc46/distinfo10
-rw-r--r--lang/gcc46/files/patch-ad30
-rw-r--r--lang/gcc46/files/patch-af31
-rw-r--r--lang/gcc46/files/patch-ar9
-rw-r--r--lang/gcc46/files/patch-fa56
-rw-r--r--lang/gcc46/pkg-plist22
-rw-r--r--lang/gcc47/Makefile2
-rw-r--r--lang/gcc47/distinfo10
-rw-r--r--lang/gcc47/files/patch-ad30
-rw-r--r--lang/gcc47/files/patch-af31
-rw-r--r--lang/gcc47/files/patch-ar9
-rw-r--r--lang/gcc47/files/patch-fa56
-rw-r--r--lang/gcc47/pkg-plist22
-rw-r--r--lang/gcc48/Makefile2
-rw-r--r--lang/gcc48/distinfo10
-rw-r--r--lang/gcc48/files/patch-ad30
-rw-r--r--lang/gcc48/files/patch-af31
-rw-r--r--lang/gcc48/files/patch-ar9
-rw-r--r--lang/gcc48/files/patch-fa56
-rw-r--r--lang/gcc48/pkg-plist22
126 files changed, 1350 insertions, 1530 deletions
diff --git a/lang/gcc-devel/Makefile b/lang/gcc-devel/Makefile
index 7e19127dbee..8adab151e45 100644
--- a/lang/gcc-devel/Makefile
+++ b/lang/gcc-devel/Makefile
@@ -7,7 +7,7 @@
# $FreeBSD$
#
-SNAPDATE= 2000-01-10
+SNAPDATE= 2000-02-07
SNAPVER= ${SNAPDATE:S/-//g}
DISTNAME= gcc-2.96
diff --git a/lang/gcc-devel/distinfo b/lang/gcc-devel/distinfo
index 020c4a14328..f986ab4a25f 100644
--- a/lang/gcc-devel/distinfo
+++ b/lang/gcc-devel/distinfo
@@ -1,5 +1,5 @@
-MD5 (egcs-core-20000110.tar.gz) = e47ca05ab5ce7e18ce4a506555d60f81
-MD5 (egcs-g++-20000110.tar.gz) = c19564a16c0c17845d50dc190c5741f9
-MD5 (egcs-g77-20000110.tar.gz) = 35c1df043f600a70b0c2dbb493312af3
-MD5 (egcs-java-20000110.tar.gz) = 126b2a84f69cf771ad68c087e05f0b04
-MD5 (egcs-objc-20000110.tar.gz) = 70bb4f393cb07c706008d310cd5fb506
+MD5 (egcs-core-20000207.tar.gz) = aeb16c43745a1192db09629df8d7a63b
+MD5 (egcs-g++-20000207.tar.gz) = 9973693120531615e8a28c40cbb17e10
+MD5 (egcs-g77-20000207.tar.gz) = fa19219b4aab5ba4ef19a21ec66d553b
+MD5 (egcs-java-20000207.tar.gz) = 47cde2f432c910dbb5587f7d5eb94238
+MD5 (egcs-objc-20000207.tar.gz) = 257d673cfabadcd1f2e289d6f21a9715
diff --git a/lang/gcc-devel/files/patch-ad b/lang/gcc-devel/files/patch-ad
index b838666b14f..934da77780a 100644
--- a/lang/gcc-devel/files/patch-ad
+++ b/lang/gcc-devel/files/patch-ad
@@ -1,21 +1,20 @@
---- 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
-@@ -32,12 +36,10 @@
- #include "i386/perform.h"
+--- gcc/config/i386/freebsd-aout.h.orig Sun Jan 30 23:28:05 2000
++++ gcc/config/i386/freebsd-aout.h Fri Feb 4 05:19:16 2000
+@@ -31,12 +31,7 @@
/* This goes away when the math-emulator is fixed */
--#undef TARGET_DEFAULT
+ #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_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 @@
+@@ -84,14 +79,6 @@
necessary when compiling PIC code. */
#define JUMP_TABLES_IN_TEXT_SECTION 1
@@ -30,7 +29,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
-@@ -105,19 +99,18 @@
+@@ -102,19 +89,18 @@
/* Profiling routines, partially copied from i386/osfrose.h. */
@@ -53,7 +52,7 @@
fprintf (FILE, "\tcall mcount\n"); \
} \
}
-@@ -135,6 +128,7 @@
+@@ -132,6 +118,7 @@
#define TYPE_ASM_OP ".type"
#define SIZE_ASM_OP ".size"
@@ -61,7 +60,7 @@
/* The following macro defines the format used to output the second
operand of the .type assembler directive. Different svr4 assemblers
-@@ -144,6 +138,12 @@
+@@ -141,6 +128,12 @@
#define TYPE_OPERAND_FMT "@%s"
@@ -74,9 +73,12 @@
/* 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 @@
+@@ -242,6 +235,8 @@
#define STARTFILE_SPEC \
"%{shared:c++rt0.o%s} \
%{!shared:%{pg:gcrt0.o%s}%{!pg:%{static:scrt0.o%s}%{!static:crt0.o%s}}}"
+
+#define MD_STARTFILE_PREFIX "/usr/lib/aout/"
+
+ /* Define this so we can compile MS code for use with WINE. */
+ #define HANDLE_PRAGMA_PACK_PUSH_POP
diff --git a/lang/gcc-devel/files/patch-af b/lang/gcc-devel/files/patch-af
index c1fbd05ffed..33a8f0886e0 100644
--- a/lang/gcc-devel/files/patch-af
+++ b/lang/gcc-devel/files/patch-af
@@ -1,8 +1,8 @@
---- gcc/config/i386/freebsd.h.orig Mon Nov 22 22:17:32 1999
-+++ gcc/config/i386/freebsd.h Wed Dec 15 02:32:20 1999
-@@ -117,6 +117,10 @@
- : ((n) >= FIRST_STACK_REG && (n) <= LAST_STACK_REG) ? (n)+3 \
- : (-1))
+--- 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. */
@@ -11,13 +11,15 @@
/* Tell final.c that we don't need a label passed to mcount. */
#undef FUNCTION_PROFILER
-@@ -140,7 +144,15 @@
+@@ -73,11 +77,15 @@
+
+ #undef WCHAR_TYPE_SIZE
#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_PREDEFINES
+-#define CPP_PREDEFINES "-Dunix -D__ELF__ -D__FreeBSD__\
+- -Asystem(unix) -Asystem(bsd) -Asystem(FreeBSD)"
+
+#undef CC1_SPEC
+#define CC1_SPEC "\
+ %{gline:%{!g:%{!g0:%{!g1:%{!g2: -g1}}}}} \
@@ -25,10 +27,11 @@
+
+#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
-@@ -149,11 +161,11 @@
+ of the support for getting C++ file-scope static object constructed
+@@ -85,11 +93,11 @@
#undef STARTFILE_SPEC
#define STARTFILE_SPEC \
@@ -45,7 +48,7 @@
/* Provide a ENDFILE_SPEC appropriate for FreeBSD. Here we tack on
the magical crtend.o file (see crtstuff.c) which provides part of
-@@ -163,7 +175,7 @@
+@@ -99,7 +107,7 @@
#undef ENDFILE_SPEC
#define ENDFILE_SPEC \
diff --git a/lang/gcc-devel/files/patch-ar b/lang/gcc-devel/files/patch-ar
index f2200f115da..e6a4c8ad30b 100644
--- a/lang/gcc-devel/files/patch-ar
+++ b/lang/gcc-devel/files/patch-ar
@@ -1,12 +1,15 @@
--- gcc/config/freebsd.h.orig Mon Nov 22 22:17:32 1999
-+++ gcc/config/freebsd.h Sat Dec 18 14:42:03 1999
-@@ -48,13 +48,23 @@
++++ gcc/config/freebsd.h Fri Feb 4 05:29:31 2000
+@@ -48,13 +48,26 @@
#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) "
++#define FBSD_CPP_PREDEFINES " -Dunix -D__FreeBSD__ -Asystem(unix) -Asystem(bsd) -Asystem(FreeBSD) "
++
++#undef CPP_PREDEFINES
++#define CPP_PREDEFINES FBSD_CPP_PREDEFINES
+
/* Provide a CPP_SPEC appropriate for FreeBSD. We just deal with the GCC
option `-posix', and PIC issues. */
diff --git a/lang/gcc-devel/files/patch-fa b/lang/gcc-devel/files/patch-fa
index 7f5e0e611ae..984c773d8c1 100644
--- a/lang/gcc-devel/files/patch-fa
+++ b/lang/gcc-devel/files/patch-fa
@@ -1,15 +1,15 @@
---- 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 @@
+--- gcc/c-common.c.orig Mon Jan 24 12:10:00 2000
++++ gcc/c-common.c Tue Feb 1 02:43:39 2000
+@@ -152,7 +152,7 @@
+ int, int, int));
+ static void init_attributes PARAMS ((void));
+ static void record_function_format PARAMS ((tree, tree, enum format_type,
+- int, int));
++ int, int, int));
+ static void record_international_format PARAMS ((tree, tree, int));
+ static tree c_find_base_decl PARAMS ((tree));
+ static int default_valid_lang_attribute PARAMS ((tree, tree, tree, tree));
+@@ -812,6 +812,7 @@
= TREE_VALUE (TREE_CHAIN (TREE_CHAIN (args)));
int format_num;
int first_arg_num;
@@ -17,8 +17,8 @@
enum format_type format_type;
tree argument;
int arg_num;
-@@ -682,7 +683,7 @@
-
+@@ -825,7 +826,7 @@
+
if (TREE_CODE (format_type_id) != IDENTIFIER_NODE)
{
- error ("unrecognized format specifier");
@@ -26,9 +26,9 @@
continue;
}
else
-@@ -690,12 +691,26 @@
- char *p = IDENTIFIER_POINTER (format_type_id);
-
+@@ -833,12 +834,26 @@
+ const char *p = IDENTIFIER_POINTER (format_type_id);
+
if (!strcmp (p, "printf") || !strcmp (p, "__printf__"))
+ {
+ format_type = printf_format_type;
@@ -52,8 +52,8 @@
+ }
else
{
- error ("`%s' is an unrecognized format function type", p);
-@@ -766,7 +781,8 @@
+ warning ("`%s' is an unrecognized format function type", p);
+@@ -909,7 +924,8 @@
record_function_format (DECL_NAME (decl),
DECL_ASSEMBLER_NAME (decl),
@@ -63,7 +63,7 @@
break;
}
-@@ -1010,6 +1026,11 @@
+@@ -1213,6 +1229,11 @@
} format_char_info;
static format_char_info print_char_table[] = {
@@ -75,7 +75,7 @@
{ "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 @@
+@@ -1273,6 +1294,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.) */
@@ -83,7 +83,7 @@
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 @@
+@@ -1305,25 +1327,25 @@
init_function_format_info ()
{
record_function_format (get_identifier ("printf"), NULL_TREE,
@@ -119,7 +119,7 @@
record_international_format (get_identifier ("gettext"), NULL_TREE, 1);
record_international_format (get_identifier ("dgettext"), NULL_TREE, 2);
-@@ -1137,11 +1159,12 @@
+@@ -1340,11 +1362,12 @@
(e.g. for varargs such as vfprintf). */
static void
@@ -133,7 +133,7 @@
int format_num;
int first_arg_num;
{
-@@ -1165,6 +1188,7 @@
+@@ -1368,6 +1391,7 @@
}
info->format_type = format_type;
@@ -141,7 +141,7 @@
info->format_num = format_num;
info->first_arg_num = first_arg_num;
}
-@@ -1314,7 +1338,8 @@
+@@ -1521,7 +1545,8 @@
if (integer_zerop (format_tree))
{
@@ -151,7 +151,7 @@
return;
}
if (TREE_CODE (format_tree) != ADDR_EXPR)
-@@ -1485,12 +1510,13 @@
+@@ -1710,12 +1735,13 @@
It will work on most machines, because size_t and int
have the same mode. But might as well warn anyway,
since it will fail on other machines. */
@@ -166,7 +166,7 @@
}
}
else
-@@ -1535,6 +1561,53 @@
+@@ -1760,6 +1786,53 @@
}
}
}
@@ -220,7 +220,7 @@
aflag = 0;
-@@ -1604,7 +1677,8 @@
+@@ -1828,7 +1901,8 @@
switch (info->format_type)
{
case printf_format_type:
diff --git a/lang/gcc-devel/pkg-plist b/lang/gcc-devel/pkg-plist
index 8b45855df51..c498178645e 100644
--- a/lang/gcc-devel/pkg-plist
+++ b/lang/gcc-devel/pkg-plist
@@ -77,7 +77,6 @@ lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/map.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/memory
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/multimap.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/multiset.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/new.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/numeric
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/ostream.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/pair.h
@@ -237,7 +236,6 @@ lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/collect2
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/f771
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/README
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/assert.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/curses.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/exception
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/float.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g2c.h
@@ -250,33 +248,17 @@ lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/proto.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stdarg.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stdbool.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stddef.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stdlib.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stdio.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/syslimits.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/typeinfo
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/values.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/varargs.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/zconf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/net/netisr.h
+lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/machine/ansi.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/net/zlib.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netatm/atm_if.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netatm/atm_ioctl.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netatm/atm_var.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netatm/kern_include.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netatm/port.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netinet/ip_compat.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netinet/ip_fil.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netinet/ip_nat.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netipx/ipx.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netkey/keysock.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netns/ns.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netns/spp_var.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/rpc/auth.h
+lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/rpc/des.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/rpc/svc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/rpc/types.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/security/_pam_compat.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/sys/dvdio.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/sys/types.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/NXConstStr.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/Object.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/Protocol.h
diff --git a/lang/gcc-ooo/Makefile b/lang/gcc-ooo/Makefile
index 7e19127dbee..8adab151e45 100644
--- a/lang/gcc-ooo/Makefile
+++ b/lang/gcc-ooo/Makefile
@@ -7,7 +7,7 @@
# $FreeBSD$
#
-SNAPDATE= 2000-01-10
+SNAPDATE= 2000-02-07
SNAPVER= ${SNAPDATE:S/-//g}
DISTNAME= gcc-2.96
diff --git a/lang/gcc-ooo/distinfo b/lang/gcc-ooo/distinfo
index 020c4a14328..f986ab4a25f 100644
--- a/lang/gcc-ooo/distinfo
+++ b/lang/gcc-ooo/distinfo
@@ -1,5 +1,5 @@
-MD5 (egcs-core-20000110.tar.gz) = e47ca05ab5ce7e18ce4a506555d60f81
-MD5 (egcs-g++-20000110.tar.gz) = c19564a16c0c17845d50dc190c5741f9
-MD5 (egcs-g77-20000110.tar.gz) = 35c1df043f600a70b0c2dbb493312af3
-MD5 (egcs-java-20000110.tar.gz) = 126b2a84f69cf771ad68c087e05f0b04
-MD5 (egcs-objc-20000110.tar.gz) = 70bb4f393cb07c706008d310cd5fb506
+MD5 (egcs-core-20000207.tar.gz) = aeb16c43745a1192db09629df8d7a63b
+MD5 (egcs-g++-20000207.tar.gz) = 9973693120531615e8a28c40cbb17e10
+MD5 (egcs-g77-20000207.tar.gz) = fa19219b4aab5ba4ef19a21ec66d553b
+MD5 (egcs-java-20000207.tar.gz) = 47cde2f432c910dbb5587f7d5eb94238
+MD5 (egcs-objc-20000207.tar.gz) = 257d673cfabadcd1f2e289d6f21a9715
diff --git a/lang/gcc-ooo/files/patch-ad b/lang/gcc-ooo/files/patch-ad
index b838666b14f..934da77780a 100644
--- a/lang/gcc-ooo/files/patch-ad
+++ b/lang/gcc-ooo/files/patch-ad
@@ -1,21 +1,20 @@
---- 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
-@@ -32,12 +36,10 @@
- #include "i386/perform.h"
+--- gcc/config/i386/freebsd-aout.h.orig Sun Jan 30 23:28:05 2000
++++ gcc/config/i386/freebsd-aout.h Fri Feb 4 05:19:16 2000
+@@ -31,12 +31,7 @@
/* This goes away when the math-emulator is fixed */
--#undef TARGET_DEFAULT
+ #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_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 @@
+@@ -84,14 +79,6 @@
necessary when compiling PIC code. */
#define JUMP_TABLES_IN_TEXT_SECTION 1
@@ -30,7 +29,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
-@@ -105,19 +99,18 @@
+@@ -102,19 +89,18 @@
/* Profiling routines, partially copied from i386/osfrose.h. */
@@ -53,7 +52,7 @@
fprintf (FILE, "\tcall mcount\n"); \
} \
}
-@@ -135,6 +128,7 @@
+@@ -132,6 +118,7 @@
#define TYPE_ASM_OP ".type"
#define SIZE_ASM_OP ".size"
@@ -61,7 +60,7 @@
/* The following macro defines the format used to output the second
operand of the .type assembler directive. Different svr4 assemblers
-@@ -144,6 +138,12 @@
+@@ -141,6 +128,12 @@
#define TYPE_OPERAND_FMT "@%s"
@@ -74,9 +73,12 @@
/* 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 @@
+@@ -242,6 +235,8 @@
#define STARTFILE_SPEC \
"%{shared:c++rt0.o%s} \
%{!shared:%{pg:gcrt0.o%s}%{!pg:%{static:scrt0.o%s}%{!static:crt0.o%s}}}"
+
+#define MD_STARTFILE_PREFIX "/usr/lib/aout/"
+
+ /* Define this so we can compile MS code for use with WINE. */
+ #define HANDLE_PRAGMA_PACK_PUSH_POP
diff --git a/lang/gcc-ooo/files/patch-af b/lang/gcc-ooo/files/patch-af
index c1fbd05ffed..33a8f0886e0 100644
--- a/lang/gcc-ooo/files/patch-af
+++ b/lang/gcc-ooo/files/patch-af
@@ -1,8 +1,8 @@
---- gcc/config/i386/freebsd.h.orig Mon Nov 22 22:17:32 1999
-+++ gcc/config/i386/freebsd.h Wed Dec 15 02:32:20 1999
-@@ -117,6 +117,10 @@
- : ((n) >= FIRST_STACK_REG && (n) <= LAST_STACK_REG) ? (n)+3 \
- : (-1))
+--- 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. */
@@ -11,13 +11,15 @@
/* Tell final.c that we don't need a label passed to mcount. */
#undef FUNCTION_PROFILER
-@@ -140,7 +144,15 @@
+@@ -73,11 +77,15 @@
+
+ #undef WCHAR_TYPE_SIZE
#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_PREDEFINES
+-#define CPP_PREDEFINES "-Dunix -D__ELF__ -D__FreeBSD__\
+- -Asystem(unix) -Asystem(bsd) -Asystem(FreeBSD)"
+
+#undef CC1_SPEC
+#define CC1_SPEC "\
+ %{gline:%{!g:%{!g0:%{!g1:%{!g2: -g1}}}}} \
@@ -25,10 +27,11 @@
+
+#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
-@@ -149,11 +161,11 @@
+ of the support for getting C++ file-scope static object constructed
+@@ -85,11 +93,11 @@
#undef STARTFILE_SPEC
#define STARTFILE_SPEC \
@@ -45,7 +48,7 @@
/* Provide a ENDFILE_SPEC appropriate for FreeBSD. Here we tack on
the magical crtend.o file (see crtstuff.c) which provides part of
-@@ -163,7 +175,7 @@
+@@ -99,7 +107,7 @@
#undef ENDFILE_SPEC
#define ENDFILE_SPEC \
diff --git a/lang/gcc-ooo/files/patch-ar b/lang/gcc-ooo/files/patch-ar
index f2200f115da..e6a4c8ad30b 100644
--- a/lang/gcc-ooo/files/patch-ar
+++ b/lang/gcc-ooo/files/patch-ar
@@ -1,12 +1,15 @@
--- gcc/config/freebsd.h.orig Mon Nov 22 22:17:32 1999
-+++ gcc/config/freebsd.h Sat Dec 18 14:42:03 1999
-@@ -48,13 +48,23 @@
++++ gcc/config/freebsd.h Fri Feb 4 05:29:31 2000
+@@ -48,13 +48,26 @@
#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) "
++#define FBSD_CPP_PREDEFINES " -Dunix -D__FreeBSD__ -Asystem(unix) -Asystem(bsd) -Asystem(FreeBSD) "
++
++#undef CPP_PREDEFINES
++#define CPP_PREDEFINES FBSD_CPP_PREDEFINES
+
/* Provide a CPP_SPEC appropriate for FreeBSD. We just deal with the GCC
option `-posix', and PIC issues. */
diff --git a/lang/gcc-ooo/files/patch-fa b/lang/gcc-ooo/files/patch-fa
index 7f5e0e611ae..984c773d8c1 100644
--- a/lang/gcc-ooo/files/patch-fa
+++ b/lang/gcc-ooo/files/patch-fa
@@ -1,15 +1,15 @@
---- 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 @@
+--- gcc/c-common.c.orig Mon Jan 24 12:10:00 2000
++++ gcc/c-common.c Tue Feb 1 02:43:39 2000
+@@ -152,7 +152,7 @@
+ int, int, int));
+ static void init_attributes PARAMS ((void));
+ static void record_function_format PARAMS ((tree, tree, enum format_type,
+- int, int));
++ int, int, int));
+ static void record_international_format PARAMS ((tree, tree, int));
+ static tree c_find_base_decl PARAMS ((tree));
+ static int default_valid_lang_attribute PARAMS ((tree, tree, tree, tree));
+@@ -812,6 +812,7 @@
= TREE_VALUE (TREE_CHAIN (TREE_CHAIN (args)));
int format_num;
int first_arg_num;
@@ -17,8 +17,8 @@
enum format_type format_type;
tree argument;
int arg_num;
-@@ -682,7 +683,7 @@
-
+@@ -825,7 +826,7 @@
+
if (TREE_CODE (format_type_id) != IDENTIFIER_NODE)
{
- error ("unrecognized format specifier");
@@ -26,9 +26,9 @@
continue;
}
else
-@@ -690,12 +691,26 @@
- char *p = IDENTIFIER_POINTER (format_type_id);
-
+@@ -833,12 +834,26 @@
+ const char *p = IDENTIFIER_POINTER (format_type_id);
+
if (!strcmp (p, "printf") || !strcmp (p, "__printf__"))
+ {
+ format_type = printf_format_type;
@@ -52,8 +52,8 @@
+ }
else
{
- error ("`%s' is an unrecognized format function type", p);
-@@ -766,7 +781,8 @@
+ warning ("`%s' is an unrecognized format function type", p);
+@@ -909,7 +924,8 @@
record_function_format (DECL_NAME (decl),
DECL_ASSEMBLER_NAME (decl),
@@ -63,7 +63,7 @@
break;
}
-@@ -1010,6 +1026,11 @@
+@@ -1213,6 +1229,11 @@
} format_char_info;
static format_char_info print_char_table[] = {
@@ -75,7 +75,7 @@
{ "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 @@
+@@ -1273,6 +1294,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.) */
@@ -83,7 +83,7 @@
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 @@
+@@ -1305,25 +1327,25 @@
init_function_format_info ()
{
record_function_format (get_identifier ("printf"), NULL_TREE,
@@ -119,7 +119,7 @@
record_international_format (get_identifier ("gettext"), NULL_TREE, 1);
record_international_format (get_identifier ("dgettext"), NULL_TREE, 2);
-@@ -1137,11 +1159,12 @@
+@@ -1340,11 +1362,12 @@
(e.g. for varargs such as vfprintf). */
static void
@@ -133,7 +133,7 @@
int format_num;
int first_arg_num;
{
-@@ -1165,6 +1188,7 @@
+@@ -1368,6 +1391,7 @@
}
info->format_type = format_type;
@@ -141,7 +141,7 @@
info->format_num = format_num;
info->first_arg_num = first_arg_num;
}
-@@ -1314,7 +1338,8 @@
+@@ -1521,7 +1545,8 @@
if (integer_zerop (format_tree))
{
@@ -151,7 +151,7 @@
return;
}
if (TREE_CODE (format_tree) != ADDR_EXPR)
-@@ -1485,12 +1510,13 @@
+@@ -1710,12 +1735,13 @@
It will work on most machines, because size_t and int
have the same mode. But might as well warn anyway,
since it will fail on other machines. */
@@ -166,7 +166,7 @@
}
}
else
-@@ -1535,6 +1561,53 @@
+@@ -1760,6 +1786,53 @@
}
}
}
@@ -220,7 +220,7 @@
aflag = 0;
-@@ -1604,7 +1677,8 @@
+@@ -1828,7 +1901,8 @@
switch (info->format_type)
{
case printf_format_type:
diff --git a/lang/gcc-ooo/pkg-plist b/lang/gcc-ooo/pkg-plist
index 8b45855df51..c498178645e 100644
--- a/lang/gcc-ooo/pkg-plist
+++ b/lang/gcc-ooo/pkg-plist
@@ -77,7 +77,6 @@ lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/map.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/memory
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/multimap.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/multiset.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/new.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/numeric
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/ostream.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/pair.h
@@ -237,7 +236,6 @@ lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/collect2
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/f771
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/README
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/assert.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/curses.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/exception
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/float.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g2c.h
@@ -250,33 +248,17 @@ lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/proto.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stdarg.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stdbool.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stddef.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stdlib.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stdio.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/syslimits.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/typeinfo
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/values.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/varargs.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/zconf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/net/netisr.h
+lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/machine/ansi.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/net/zlib.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netatm/atm_if.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netatm/atm_ioctl.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netatm/atm_var.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netatm/kern_include.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netatm/port.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netinet/ip_compat.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netinet/ip_fil.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netinet/ip_nat.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netipx/ipx.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netkey/keysock.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netns/ns.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netns/spp_var.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/rpc/auth.h
+lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/rpc/des.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/rpc/svc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/rpc/types.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/security/_pam_compat.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/sys/dvdio.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/sys/types.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/NXConstStr.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/Object.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/Protocol.h
diff --git a/lang/gcc/Makefile b/lang/gcc/Makefile
index 7e19127dbee..8adab151e45 100644
--- a/lang/gcc/Makefile
+++ b/lang/gcc/Makefile
@@ -7,7 +7,7 @@
# $FreeBSD$
#
-SNAPDATE= 2000-01-10
+SNAPDATE= 2000-02-07
SNAPVER= ${SNAPDATE:S/-//g}
DISTNAME= gcc-2.96
diff --git a/lang/gcc/distinfo b/lang/gcc/distinfo
index 020c4a14328..f986ab4a25f 100644
--- a/lang/gcc/distinfo
+++ b/lang/gcc/distinfo
@@ -1,5 +1,5 @@
-MD5 (egcs-core-20000110.tar.gz) = e47ca05ab5ce7e18ce4a506555d60f81
-MD5 (egcs-g++-20000110.tar.gz) = c19564a16c0c17845d50dc190c5741f9
-MD5 (egcs-g77-20000110.tar.gz) = 35c1df043f600a70b0c2dbb493312af3
-MD5 (egcs-java-20000110.tar.gz) = 126b2a84f69cf771ad68c087e05f0b04
-MD5 (egcs-objc-20000110.tar.gz) = 70bb4f393cb07c706008d310cd5fb506
+MD5 (egcs-core-20000207.tar.gz) = aeb16c43745a1192db09629df8d7a63b
+MD5 (egcs-g++-20000207.tar.gz) = 9973693120531615e8a28c40cbb17e10
+MD5 (egcs-g77-20000207.tar.gz) = fa19219b4aab5ba4ef19a21ec66d553b
+MD5 (egcs-java-20000207.tar.gz) = 47cde2f432c910dbb5587f7d5eb94238
+MD5 (egcs-objc-20000207.tar.gz) = 257d673cfabadcd1f2e289d6f21a9715
diff --git a/lang/gcc/files/patch-ad b/lang/gcc/files/patch-ad
index b838666b14f..934da77780a 100644
--- a/lang/gcc/files/patch-ad
+++ b/lang/gcc/files/patch-ad
@@ -1,21 +1,20 @@
---- 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
-@@ -32,12 +36,10 @@
- #include "i386/perform.h"
+--- gcc/config/i386/freebsd-aout.h.orig Sun Jan 30 23:28:05 2000
++++ gcc/config/i386/freebsd-aout.h Fri Feb 4 05:19:16 2000
+@@ -31,12 +31,7 @@
/* This goes away when the math-emulator is fixed */
--#undef TARGET_DEFAULT
+ #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_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 @@
+@@ -84,14 +79,6 @@
necessary when compiling PIC code. */
#define JUMP_TABLES_IN_TEXT_SECTION 1
@@ -30,7 +29,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
-@@ -105,19 +99,18 @@
+@@ -102,19 +89,18 @@
/* Profiling routines, partially copied from i386/osfrose.h. */
@@ -53,7 +52,7 @@
fprintf (FILE, "\tcall mcount\n"); \
} \
}
-@@ -135,6 +128,7 @@
+@@ -132,6 +118,7 @@
#define TYPE_ASM_OP ".type"
#define SIZE_ASM_OP ".size"
@@ -61,7 +60,7 @@
/* The following macro defines the format used to output the second
operand of the .type assembler directive. Different svr4 assemblers
-@@ -144,6 +138,12 @@
+@@ -141,6 +128,12 @@
#define TYPE_OPERAND_FMT "@%s"
@@ -74,9 +73,12 @@
/* 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 @@
+@@ -242,6 +235,8 @@
#define STARTFILE_SPEC \
"%{shared:c++rt0.o%s} \
%{!shared:%{pg:gcrt0.o%s}%{!pg:%{static:scrt0.o%s}%{!static:crt0.o%s}}}"
+
+#define MD_STARTFILE_PREFIX "/usr/lib/aout/"
+
+ /* Define this so we can compile MS code for use with WINE. */
+ #define HANDLE_PRAGMA_PACK_PUSH_POP
diff --git a/lang/gcc/files/patch-af b/lang/gcc/files/patch-af
index c1fbd05ffed..33a8f0886e0 100644
--- a/lang/gcc/files/patch-af
+++ b/lang/gcc/files/patch-af
@@ -1,8 +1,8 @@
---- gcc/config/i386/freebsd.h.orig Mon Nov 22 22:17:32 1999
-+++ gcc/config/i386/freebsd.h Wed Dec 15 02:32:20 1999
-@@ -117,6 +117,10 @@
- : ((n) >= FIRST_STACK_REG && (n) <= LAST_STACK_REG) ? (n)+3 \
- : (-1))
+--- 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. */
@@ -11,13 +11,15 @@
/* Tell final.c that we don't need a label passed to mcount. */
#undef FUNCTION_PROFILER
-@@ -140,7 +144,15 @@
+@@ -73,11 +77,15 @@
+
+ #undef WCHAR_TYPE_SIZE
#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_PREDEFINES
+-#define CPP_PREDEFINES "-Dunix -D__ELF__ -D__FreeBSD__\
+- -Asystem(unix) -Asystem(bsd) -Asystem(FreeBSD)"
+
+#undef CC1_SPEC
+#define CC1_SPEC "\
+ %{gline:%{!g:%{!g0:%{!g1:%{!g2: -g1}}}}} \
@@ -25,10 +27,11 @@
+
+#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
-@@ -149,11 +161,11 @@
+ of the support for getting C++ file-scope static object constructed
+@@ -85,11 +93,11 @@
#undef STARTFILE_SPEC
#define STARTFILE_SPEC \
@@ -45,7 +48,7 @@
/* Provide a ENDFILE_SPEC appropriate for FreeBSD. Here we tack on
the magical crtend.o file (see crtstuff.c) which provides part of
-@@ -163,7 +175,7 @@
+@@ -99,7 +107,7 @@
#undef ENDFILE_SPEC
#define ENDFILE_SPEC \
diff --git a/lang/gcc/files/patch-ar b/lang/gcc/files/patch-ar
index f2200f115da..e6a4c8ad30b 100644
--- a/lang/gcc/files/patch-ar
+++ b/lang/gcc/files/patch-ar
@@ -1,12 +1,15 @@
--- gcc/config/freebsd.h.orig Mon Nov 22 22:17:32 1999
-+++ gcc/config/freebsd.h Sat Dec 18 14:42:03 1999
-@@ -48,13 +48,23 @@
++++ gcc/config/freebsd.h Fri Feb 4 05:29:31 2000
+@@ -48,13 +48,26 @@
#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) "
++#define FBSD_CPP_PREDEFINES " -Dunix -D__FreeBSD__ -Asystem(unix) -Asystem(bsd) -Asystem(FreeBSD) "
++
++#undef CPP_PREDEFINES
++#define CPP_PREDEFINES FBSD_CPP_PREDEFINES
+
/* Provide a CPP_SPEC appropriate for FreeBSD. We just deal with the GCC
option `-posix', and PIC issues. */
diff --git a/lang/gcc/files/patch-fa b/lang/gcc/files/patch-fa
index 7f5e0e611ae..984c773d8c1 100644
--- a/lang/gcc/files/patch-fa
+++ b/lang/gcc/files/patch-fa
@@ -1,15 +1,15 @@
---- 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 @@
+--- gcc/c-common.c.orig Mon Jan 24 12:10:00 2000
++++ gcc/c-common.c Tue Feb 1 02:43:39 2000
+@@ -152,7 +152,7 @@
+ int, int, int));
+ static void init_attributes PARAMS ((void));
+ static void record_function_format PARAMS ((tree, tree, enum format_type,
+- int, int));
++ int, int, int));
+ static void record_international_format PARAMS ((tree, tree, int));
+ static tree c_find_base_decl PARAMS ((tree));
+ static int default_valid_lang_attribute PARAMS ((tree, tree, tree, tree));
+@@ -812,6 +812,7 @@
= TREE_VALUE (TREE_CHAIN (TREE_CHAIN (args)));
int format_num;
int first_arg_num;
@@ -17,8 +17,8 @@
enum format_type format_type;
tree argument;
int arg_num;
-@@ -682,7 +683,7 @@
-
+@@ -825,7 +826,7 @@
+
if (TREE_CODE (format_type_id) != IDENTIFIER_NODE)
{
- error ("unrecognized format specifier");
@@ -26,9 +26,9 @@
continue;
}
else
-@@ -690,12 +691,26 @@
- char *p = IDENTIFIER_POINTER (format_type_id);
-
+@@ -833,12 +834,26 @@
+ const char *p = IDENTIFIER_POINTER (format_type_id);
+
if (!strcmp (p, "printf") || !strcmp (p, "__printf__"))
+ {
+ format_type = printf_format_type;
@@ -52,8 +52,8 @@
+ }
else
{
- error ("`%s' is an unrecognized format function type", p);
-@@ -766,7 +781,8 @@
+ warning ("`%s' is an unrecognized format function type", p);
+@@ -909,7 +924,8 @@
record_function_format (DECL_NAME (decl),
DECL_ASSEMBLER_NAME (decl),
@@ -63,7 +63,7 @@
break;
}
-@@ -1010,6 +1026,11 @@
+@@ -1213,6 +1229,11 @@
} format_char_info;
static format_char_info print_char_table[] = {
@@ -75,7 +75,7 @@
{ "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 @@
+@@ -1273,6 +1294,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.) */
@@ -83,7 +83,7 @@
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 @@
+@@ -1305,25 +1327,25 @@
init_function_format_info ()
{
record_function_format (get_identifier ("printf"), NULL_TREE,
@@ -119,7 +119,7 @@
record_international_format (get_identifier ("gettext"), NULL_TREE, 1);
record_international_format (get_identifier ("dgettext"), NULL_TREE, 2);
-@@ -1137,11 +1159,12 @@
+@@ -1340,11 +1362,12 @@
(e.g. for varargs such as vfprintf). */
static void
@@ -133,7 +133,7 @@
int format_num;
int first_arg_num;
{
-@@ -1165,6 +1188,7 @@
+@@ -1368,6 +1391,7 @@
}
info->format_type = format_type;
@@ -141,7 +141,7 @@
info->format_num = format_num;
info->first_arg_num = first_arg_num;
}
-@@ -1314,7 +1338,8 @@
+@@ -1521,7 +1545,8 @@
if (integer_zerop (format_tree))
{
@@ -151,7 +151,7 @@
return;
}
if (TREE_CODE (format_tree) != ADDR_EXPR)
-@@ -1485,12 +1510,13 @@
+@@ -1710,12 +1735,13 @@
It will work on most machines, because size_t and int
have the same mode. But might as well warn anyway,
since it will fail on other machines. */
@@ -166,7 +166,7 @@
}
}
else
-@@ -1535,6 +1561,53 @@
+@@ -1760,6 +1786,53 @@
}
}
}
@@ -220,7 +220,7 @@
aflag = 0;
-@@ -1604,7 +1677,8 @@
+@@ -1828,7 +1901,8 @@
switch (info->format_type)
{
case printf_format_type:
diff --git a/lang/gcc/pkg-plist b/lang/gcc/pkg-plist
index 8b45855df51..c498178645e 100644
--- a/lang/gcc/pkg-plist
+++ b/lang/gcc/pkg-plist
@@ -77,7 +77,6 @@ lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/map.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/memory
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/multimap.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/multiset.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/new.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/numeric
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/ostream.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/pair.h
@@ -237,7 +236,6 @@ lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/collect2
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/f771
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/README
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/assert.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/curses.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/exception
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/float.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g2c.h
@@ -250,33 +248,17 @@ lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/proto.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stdarg.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stdbool.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stddef.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stdlib.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stdio.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/syslimits.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/typeinfo
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/values.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/varargs.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/zconf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/net/netisr.h
+lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/machine/ansi.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/net/zlib.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netatm/atm_if.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netatm/atm_ioctl.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netatm/atm_var.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netatm/kern_include.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netatm/port.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netinet/ip_compat.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netinet/ip_fil.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netinet/ip_nat.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netipx/ipx.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netkey/keysock.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netns/ns.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netns/spp_var.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/rpc/auth.h
+lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/rpc/des.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/rpc/svc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/rpc/types.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/security/_pam_compat.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/sys/dvdio.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/sys/types.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/NXConstStr.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/Object.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/Protocol.h
diff --git a/lang/gcc30/Makefile b/lang/gcc30/Makefile
index 7e19127dbee..8adab151e45 100644
--- a/lang/gcc30/Makefile
+++ b/lang/gcc30/Makefile
@@ -7,7 +7,7 @@
# $FreeBSD$
#
-SNAPDATE= 2000-01-10
+SNAPDATE= 2000-02-07
SNAPVER= ${SNAPDATE:S/-//g}
DISTNAME= gcc-2.96
diff --git a/lang/gcc30/distinfo b/lang/gcc30/distinfo
index 020c4a14328..f986ab4a25f 100644
--- a/lang/gcc30/distinfo
+++ b/lang/gcc30/distinfo
@@ -1,5 +1,5 @@
-MD5 (egcs-core-20000110.tar.gz) = e47ca05ab5ce7e18ce4a506555d60f81
-MD5 (egcs-g++-20000110.tar.gz) = c19564a16c0c17845d50dc190c5741f9
-MD5 (egcs-g77-20000110.tar.gz) = 35c1df043f600a70b0c2dbb493312af3
-MD5 (egcs-java-20000110.tar.gz) = 126b2a84f69cf771ad68c087e05f0b04
-MD5 (egcs-objc-20000110.tar.gz) = 70bb4f393cb07c706008d310cd5fb506
+MD5 (egcs-core-20000207.tar.gz) = aeb16c43745a1192db09629df8d7a63b
+MD5 (egcs-g++-20000207.tar.gz) = 9973693120531615e8a28c40cbb17e10
+MD5 (egcs-g77-20000207.tar.gz) = fa19219b4aab5ba4ef19a21ec66d553b
+MD5 (egcs-java-20000207.tar.gz) = 47cde2f432c910dbb5587f7d5eb94238
+MD5 (egcs-objc-20000207.tar.gz) = 257d673cfabadcd1f2e289d6f21a9715
diff --git a/lang/gcc30/files/patch-ad b/lang/gcc30/files/patch-ad
index b838666b14f..934da77780a 100644
--- a/lang/gcc30/files/patch-ad
+++ b/lang/gcc30/files/patch-ad
@@ -1,21 +1,20 @@
---- 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
-@@ -32,12 +36,10 @@
- #include "i386/perform.h"
+--- gcc/config/i386/freebsd-aout.h.orig Sun Jan 30 23:28:05 2000
++++ gcc/config/i386/freebsd-aout.h Fri Feb 4 05:19:16 2000
+@@ -31,12 +31,7 @@
/* This goes away when the math-emulator is fixed */
--#undef TARGET_DEFAULT
+ #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_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 @@
+@@ -84,14 +79,6 @@
necessary when compiling PIC code. */
#define JUMP_TABLES_IN_TEXT_SECTION 1
@@ -30,7 +29,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
-@@ -105,19 +99,18 @@
+@@ -102,19 +89,18 @@
/* Profiling routines, partially copied from i386/osfrose.h. */
@@ -53,7 +52,7 @@
fprintf (FILE, "\tcall mcount\n"); \
} \
}
-@@ -135,6 +128,7 @@
+@@ -132,6 +118,7 @@
#define TYPE_ASM_OP ".type"
#define SIZE_ASM_OP ".size"
@@ -61,7 +60,7 @@
/* The following macro defines the format used to output the second
operand of the .type assembler directive. Different svr4 assemblers
-@@ -144,6 +138,12 @@
+@@ -141,6 +128,12 @@
#define TYPE_OPERAND_FMT "@%s"
@@ -74,9 +73,12 @@
/* 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 @@
+@@ -242,6 +235,8 @@
#define STARTFILE_SPEC \
"%{shared:c++rt0.o%s} \
%{!shared:%{pg:gcrt0.o%s}%{!pg:%{static:scrt0.o%s}%{!static:crt0.o%s}}}"
+
+#define MD_STARTFILE_PREFIX "/usr/lib/aout/"
+
+ /* Define this so we can compile MS code for use with WINE. */
+ #define HANDLE_PRAGMA_PACK_PUSH_POP
diff --git a/lang/gcc30/files/patch-af b/lang/gcc30/files/patch-af
index c1fbd05ffed..33a8f0886e0 100644
--- a/lang/gcc30/files/patch-af
+++ b/lang/gcc30/files/patch-af
@@ -1,8 +1,8 @@
---- gcc/config/i386/freebsd.h.orig Mon Nov 22 22:17:32 1999
-+++ gcc/config/i386/freebsd.h Wed Dec 15 02:32:20 1999
-@@ -117,6 +117,10 @@
- : ((n) >= FIRST_STACK_REG && (n) <= LAST_STACK_REG) ? (n)+3 \
- : (-1))
+--- 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. */
@@ -11,13 +11,15 @@
/* Tell final.c that we don't need a label passed to mcount. */
#undef FUNCTION_PROFILER
-@@ -140,7 +144,15 @@
+@@ -73,11 +77,15 @@
+
+ #undef WCHAR_TYPE_SIZE
#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_PREDEFINES
+-#define CPP_PREDEFINES "-Dunix -D__ELF__ -D__FreeBSD__\
+- -Asystem(unix) -Asystem(bsd) -Asystem(FreeBSD)"
+
+#undef CC1_SPEC
+#define CC1_SPEC "\
+ %{gline:%{!g:%{!g0:%{!g1:%{!g2: -g1}}}}} \
@@ -25,10 +27,11 @@
+
+#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
-@@ -149,11 +161,11 @@
+ of the support for getting C++ file-scope static object constructed
+@@ -85,11 +93,11 @@
#undef STARTFILE_SPEC
#define STARTFILE_SPEC \
@@ -45,7 +48,7 @@
/* Provide a ENDFILE_SPEC appropriate for FreeBSD. Here we tack on
the magical crtend.o file (see crtstuff.c) which provides part of
-@@ -163,7 +175,7 @@
+@@ -99,7 +107,7 @@
#undef ENDFILE_SPEC
#define ENDFILE_SPEC \
diff --git a/lang/gcc30/files/patch-ar b/lang/gcc30/files/patch-ar
index f2200f115da..e6a4c8ad30b 100644
--- a/lang/gcc30/files/patch-ar
+++ b/lang/gcc30/files/patch-ar
@@ -1,12 +1,15 @@
--- gcc/config/freebsd.h.orig Mon Nov 22 22:17:32 1999
-+++ gcc/config/freebsd.h Sat Dec 18 14:42:03 1999
-@@ -48,13 +48,23 @@
++++ gcc/config/freebsd.h Fri Feb 4 05:29:31 2000
+@@ -48,13 +48,26 @@
#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) "
++#define FBSD_CPP_PREDEFINES " -Dunix -D__FreeBSD__ -Asystem(unix) -Asystem(bsd) -Asystem(FreeBSD) "
++
++#undef CPP_PREDEFINES
++#define CPP_PREDEFINES FBSD_CPP_PREDEFINES
+
/* Provide a CPP_SPEC appropriate for FreeBSD. We just deal with the GCC
option `-posix', and PIC issues. */
diff --git a/lang/gcc30/files/patch-fa b/lang/gcc30/files/patch-fa
index 7f5e0e611ae..984c773d8c1 100644
--- a/lang/gcc30/files/patch-fa
+++ b/lang/gcc30/files/patch-fa
@@ -1,15 +1,15 @@
---- 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 @@
+--- gcc/c-common.c.orig Mon Jan 24 12:10:00 2000
++++ gcc/c-common.c Tue Feb 1 02:43:39 2000
+@@ -152,7 +152,7 @@
+ int, int, int));
+ static void init_attributes PARAMS ((void));
+ static void record_function_format PARAMS ((tree, tree, enum format_type,
+- int, int));
++ int, int, int));
+ static void record_international_format PARAMS ((tree, tree, int));
+ static tree c_find_base_decl PARAMS ((tree));
+ static int default_valid_lang_attribute PARAMS ((tree, tree, tree, tree));
+@@ -812,6 +812,7 @@
= TREE_VALUE (TREE_CHAIN (TREE_CHAIN (args)));
int format_num;
int first_arg_num;
@@ -17,8 +17,8 @@
enum format_type format_type;
tree argument;
int arg_num;
-@@ -682,7 +683,7 @@
-
+@@ -825,7 +826,7 @@
+
if (TREE_CODE (format_type_id) != IDENTIFIER_NODE)
{
- error ("unrecognized format specifier");
@@ -26,9 +26,9 @@
continue;
}
else
-@@ -690,12 +691,26 @@
- char *p = IDENTIFIER_POINTER (format_type_id);
-
+@@ -833,12 +834,26 @@
+ const char *p = IDENTIFIER_POINTER (format_type_id);
+
if (!strcmp (p, "printf") || !strcmp (p, "__printf__"))
+ {
+ format_type = printf_format_type;
@@ -52,8 +52,8 @@
+ }
else
{
- error ("`%s' is an unrecognized format function type", p);
-@@ -766,7 +781,8 @@
+ warning ("`%s' is an unrecognized format function type", p);
+@@ -909,7 +924,8 @@
record_function_format (DECL_NAME (decl),
DECL_ASSEMBLER_NAME (decl),
@@ -63,7 +63,7 @@
break;
}
-@@ -1010,6 +1026,11 @@
+@@ -1213,6 +1229,11 @@
} format_char_info;
static format_char_info print_char_table[] = {
@@ -75,7 +75,7 @@
{ "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 @@
+@@ -1273,6 +1294,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.) */
@@ -83,7 +83,7 @@
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 @@
+@@ -1305,25 +1327,25 @@
init_function_format_info ()
{
record_function_format (get_identifier ("printf"), NULL_TREE,
@@ -119,7 +119,7 @@
record_international_format (get_identifier ("gettext"), NULL_TREE, 1);
record_international_format (get_identifier ("dgettext"), NULL_TREE, 2);
-@@ -1137,11 +1159,12 @@
+@@ -1340,11 +1362,12 @@
(e.g. for varargs such as vfprintf). */
static void
@@ -133,7 +133,7 @@
int format_num;
int first_arg_num;
{
-@@ -1165,6 +1188,7 @@
+@@ -1368,6 +1391,7 @@
}
info->format_type = format_type;
@@ -141,7 +141,7 @@
info->format_num = format_num;
info->first_arg_num = first_arg_num;
}
-@@ -1314,7 +1338,8 @@
+@@ -1521,7 +1545,8 @@
if (integer_zerop (format_tree))
{
@@ -151,7 +151,7 @@
return;
}
if (TREE_CODE (format_tree) != ADDR_EXPR)
-@@ -1485,12 +1510,13 @@
+@@ -1710,12 +1735,13 @@
It will work on most machines, because size_t and int
have the same mode. But might as well warn anyway,
since it will fail on other machines. */
@@ -166,7 +166,7 @@
}
}
else
-@@ -1535,6 +1561,53 @@
+@@ -1760,6 +1786,53 @@
}
}
}
@@ -220,7 +220,7 @@
aflag = 0;
-@@ -1604,7 +1677,8 @@
+@@ -1828,7 +1901,8 @@
switch (info->format_type)
{
case printf_format_type:
diff --git a/lang/gcc30/pkg-plist b/lang/gcc30/pkg-plist
index 8b45855df51..c498178645e 100644
--- a/lang/gcc30/pkg-plist
+++ b/lang/gcc30/pkg-plist
@@ -77,7 +77,6 @@ lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/map.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/memory
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/multimap.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/multiset.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/new.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/numeric
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/ostream.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/pair.h
@@ -237,7 +236,6 @@ lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/collect2
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/f771
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/README
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/assert.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/curses.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/exception
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/float.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g2c.h
@@ -250,33 +248,17 @@ lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/proto.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stdarg.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stdbool.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stddef.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stdlib.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stdio.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/syslimits.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/typeinfo
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/values.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/varargs.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/zconf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/net/netisr.h
+lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/machine/ansi.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/net/zlib.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netatm/atm_if.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netatm/atm_ioctl.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netatm/atm_var.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netatm/kern_include.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netatm/port.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netinet/ip_compat.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netinet/ip_fil.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netinet/ip_nat.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netipx/ipx.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netkey/keysock.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netns/ns.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netns/spp_var.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/rpc/auth.h
+lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/rpc/des.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/rpc/svc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/rpc/types.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/security/_pam_compat.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/sys/dvdio.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/sys/types.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/NXConstStr.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/Object.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/Protocol.h
diff --git a/lang/gcc31/Makefile b/lang/gcc31/Makefile
index 7e19127dbee..8adab151e45 100644
--- a/lang/gcc31/Makefile
+++ b/lang/gcc31/Makefile
@@ -7,7 +7,7 @@
# $FreeBSD$
#
-SNAPDATE= 2000-01-10
+SNAPDATE= 2000-02-07
SNAPVER= ${SNAPDATE:S/-//g}
DISTNAME= gcc-2.96
diff --git a/lang/gcc31/distinfo b/lang/gcc31/distinfo
index 020c4a14328..f986ab4a25f 100644
--- a/lang/gcc31/distinfo
+++ b/lang/gcc31/distinfo
@@ -1,5 +1,5 @@
-MD5 (egcs-core-20000110.tar.gz) = e47ca05ab5ce7e18ce4a506555d60f81
-MD5 (egcs-g++-20000110.tar.gz) = c19564a16c0c17845d50dc190c5741f9
-MD5 (egcs-g77-20000110.tar.gz) = 35c1df043f600a70b0c2dbb493312af3
-MD5 (egcs-java-20000110.tar.gz) = 126b2a84f69cf771ad68c087e05f0b04
-MD5 (egcs-objc-20000110.tar.gz) = 70bb4f393cb07c706008d310cd5fb506
+MD5 (egcs-core-20000207.tar.gz) = aeb16c43745a1192db09629df8d7a63b
+MD5 (egcs-g++-20000207.tar.gz) = 9973693120531615e8a28c40cbb17e10
+MD5 (egcs-g77-20000207.tar.gz) = fa19219b4aab5ba4ef19a21ec66d553b
+MD5 (egcs-java-20000207.tar.gz) = 47cde2f432c910dbb5587f7d5eb94238
+MD5 (egcs-objc-20000207.tar.gz) = 257d673cfabadcd1f2e289d6f21a9715
diff --git a/lang/gcc31/files/patch-ad b/lang/gcc31/files/patch-ad
index b838666b14f..934da77780a 100644
--- a/lang/gcc31/files/patch-ad
+++ b/lang/gcc31/files/patch-ad
@@ -1,21 +1,20 @@
---- 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
-@@ -32,12 +36,10 @@
- #include "i386/perform.h"
+--- gcc/config/i386/freebsd-aout.h.orig Sun Jan 30 23:28:05 2000
++++ gcc/config/i386/freebsd-aout.h Fri Feb 4 05:19:16 2000
+@@ -31,12 +31,7 @@
/* This goes away when the math-emulator is fixed */
--#undef TARGET_DEFAULT
+ #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_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 @@
+@@ -84,14 +79,6 @@
necessary when compiling PIC code. */
#define JUMP_TABLES_IN_TEXT_SECTION 1
@@ -30,7 +29,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
-@@ -105,19 +99,18 @@
+@@ -102,19 +89,18 @@
/* Profiling routines, partially copied from i386/osfrose.h. */
@@ -53,7 +52,7 @@
fprintf (FILE, "\tcall mcount\n"); \
} \
}
-@@ -135,6 +128,7 @@
+@@ -132,6 +118,7 @@
#define TYPE_ASM_OP ".type"
#define SIZE_ASM_OP ".size"
@@ -61,7 +60,7 @@
/* The following macro defines the format used to output the second
operand of the .type assembler directive. Different svr4 assemblers
-@@ -144,6 +138,12 @@
+@@ -141,6 +128,12 @@
#define TYPE_OPERAND_FMT "@%s"
@@ -74,9 +73,12 @@
/* 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 @@
+@@ -242,6 +235,8 @@
#define STARTFILE_SPEC \
"%{shared:c++rt0.o%s} \
%{!shared:%{pg:gcrt0.o%s}%{!pg:%{static:scrt0.o%s}%{!static:crt0.o%s}}}"
+
+#define MD_STARTFILE_PREFIX "/usr/lib/aout/"
+
+ /* Define this so we can compile MS code for use with WINE. */
+ #define HANDLE_PRAGMA_PACK_PUSH_POP
diff --git a/lang/gcc31/files/patch-af b/lang/gcc31/files/patch-af
index c1fbd05ffed..33a8f0886e0 100644
--- a/lang/gcc31/files/patch-af
+++ b/lang/gcc31/files/patch-af
@@ -1,8 +1,8 @@
---- gcc/config/i386/freebsd.h.orig Mon Nov 22 22:17:32 1999
-+++ gcc/config/i386/freebsd.h Wed Dec 15 02:32:20 1999
-@@ -117,6 +117,10 @@
- : ((n) >= FIRST_STACK_REG && (n) <= LAST_STACK_REG) ? (n)+3 \
- : (-1))
+--- 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. */
@@ -11,13 +11,15 @@
/* Tell final.c that we don't need a label passed to mcount. */
#undef FUNCTION_PROFILER
-@@ -140,7 +144,15 @@
+@@ -73,11 +77,15 @@
+
+ #undef WCHAR_TYPE_SIZE
#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_PREDEFINES
+-#define CPP_PREDEFINES "-Dunix -D__ELF__ -D__FreeBSD__\
+- -Asystem(unix) -Asystem(bsd) -Asystem(FreeBSD)"
+
+#undef CC1_SPEC
+#define CC1_SPEC "\
+ %{gline:%{!g:%{!g0:%{!g1:%{!g2: -g1}}}}} \
@@ -25,10 +27,11 @@
+
+#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
-@@ -149,11 +161,11 @@
+ of the support for getting C++ file-scope static object constructed
+@@ -85,11 +93,11 @@
#undef STARTFILE_SPEC
#define STARTFILE_SPEC \
@@ -45,7 +48,7 @@
/* Provide a ENDFILE_SPEC appropriate for FreeBSD. Here we tack on
the magical crtend.o file (see crtstuff.c) which provides part of
-@@ -163,7 +175,7 @@
+@@ -99,7 +107,7 @@
#undef ENDFILE_SPEC
#define ENDFILE_SPEC \
diff --git a/lang/gcc31/files/patch-ar b/lang/gcc31/files/patch-ar
index f2200f115da..e6a4c8ad30b 100644
--- a/lang/gcc31/files/patch-ar
+++ b/lang/gcc31/files/patch-ar
@@ -1,12 +1,15 @@
--- gcc/config/freebsd.h.orig Mon Nov 22 22:17:32 1999
-+++ gcc/config/freebsd.h Sat Dec 18 14:42:03 1999
-@@ -48,13 +48,23 @@
++++ gcc/config/freebsd.h Fri Feb 4 05:29:31 2000
+@@ -48,13 +48,26 @@
#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) "
++#define FBSD_CPP_PREDEFINES " -Dunix -D__FreeBSD__ -Asystem(unix) -Asystem(bsd) -Asystem(FreeBSD) "
++
++#undef CPP_PREDEFINES
++#define CPP_PREDEFINES FBSD_CPP_PREDEFINES
+
/* Provide a CPP_SPEC appropriate for FreeBSD. We just deal with the GCC
option `-posix', and PIC issues. */
diff --git a/lang/gcc31/files/patch-fa b/lang/gcc31/files/patch-fa
index 7f5e0e611ae..984c773d8c1 100644
--- a/lang/gcc31/files/patch-fa
+++ b/lang/gcc31/files/patch-fa
@@ -1,15 +1,15 @@
---- 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 @@
+--- gcc/c-common.c.orig Mon Jan 24 12:10:00 2000
++++ gcc/c-common.c Tue Feb 1 02:43:39 2000
+@@ -152,7 +152,7 @@
+ int, int, int));
+ static void init_attributes PARAMS ((void));
+ static void record_function_format PARAMS ((tree, tree, enum format_type,
+- int, int));
++ int, int, int));
+ static void record_international_format PARAMS ((tree, tree, int));
+ static tree c_find_base_decl PARAMS ((tree));
+ static int default_valid_lang_attribute PARAMS ((tree, tree, tree, tree));
+@@ -812,6 +812,7 @@
= TREE_VALUE (TREE_CHAIN (TREE_CHAIN (args)));
int format_num;
int first_arg_num;
@@ -17,8 +17,8 @@
enum format_type format_type;
tree argument;
int arg_num;
-@@ -682,7 +683,7 @@
-
+@@ -825,7 +826,7 @@
+
if (TREE_CODE (format_type_id) != IDENTIFIER_NODE)
{
- error ("unrecognized format specifier");
@@ -26,9 +26,9 @@
continue;
}
else
-@@ -690,12 +691,26 @@
- char *p = IDENTIFIER_POINTER (format_type_id);
-
+@@ -833,12 +834,26 @@
+ const char *p = IDENTIFIER_POINTER (format_type_id);
+
if (!strcmp (p, "printf") || !strcmp (p, "__printf__"))
+ {
+ format_type = printf_format_type;
@@ -52,8 +52,8 @@
+ }
else
{
- error ("`%s' is an unrecognized format function type", p);
-@@ -766,7 +781,8 @@
+ warning ("`%s' is an unrecognized format function type", p);
+@@ -909,7 +924,8 @@
record_function_format (DECL_NAME (decl),
DECL_ASSEMBLER_NAME (decl),
@@ -63,7 +63,7 @@
break;
}
-@@ -1010,6 +1026,11 @@
+@@ -1213,6 +1229,11 @@
} format_char_info;
static format_char_info print_char_table[] = {
@@ -75,7 +75,7 @@
{ "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 @@
+@@ -1273,6 +1294,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.) */
@@ -83,7 +83,7 @@
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 @@
+@@ -1305,25 +1327,25 @@
init_function_format_info ()
{
record_function_format (get_identifier ("printf"), NULL_TREE,
@@ -119,7 +119,7 @@
record_international_format (get_identifier ("gettext"), NULL_TREE, 1);
record_international_format (get_identifier ("dgettext"), NULL_TREE, 2);
-@@ -1137,11 +1159,12 @@
+@@ -1340,11 +1362,12 @@
(e.g. for varargs such as vfprintf). */
static void
@@ -133,7 +133,7 @@
int format_num;
int first_arg_num;
{
-@@ -1165,6 +1188,7 @@
+@@ -1368,6 +1391,7 @@
}
info->format_type = format_type;
@@ -141,7 +141,7 @@
info->format_num = format_num;
info->first_arg_num = first_arg_num;
}
-@@ -1314,7 +1338,8 @@
+@@ -1521,7 +1545,8 @@
if (integer_zerop (format_tree))
{
@@ -151,7 +151,7 @@
return;
}
if (TREE_CODE (format_tree) != ADDR_EXPR)
-@@ -1485,12 +1510,13 @@
+@@ -1710,12 +1735,13 @@
It will work on most machines, because size_t and int
have the same mode. But might as well warn anyway,
since it will fail on other machines. */
@@ -166,7 +166,7 @@
}
}
else
-@@ -1535,6 +1561,53 @@
+@@ -1760,6 +1786,53 @@
}
}
}
@@ -220,7 +220,7 @@
aflag = 0;
-@@ -1604,7 +1677,8 @@
+@@ -1828,7 +1901,8 @@
switch (info->format_type)
{
case printf_format_type:
diff --git a/lang/gcc31/pkg-plist b/lang/gcc31/pkg-plist
index 8b45855df51..c498178645e 100644
--- a/lang/gcc31/pkg-plist
+++ b/lang/gcc31/pkg-plist
@@ -77,7 +77,6 @@ lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/map.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/memory
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/multimap.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/multiset.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/new.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/numeric
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/ostream.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/pair.h
@@ -237,7 +236,6 @@ lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/collect2
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/f771
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/README
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/assert.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/curses.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/exception
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/float.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g2c.h
@@ -250,33 +248,17 @@ lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/proto.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stdarg.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stdbool.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stddef.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stdlib.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stdio.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/syslimits.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/typeinfo
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/values.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/varargs.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/zconf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/net/netisr.h
+lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/machine/ansi.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/net/zlib.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netatm/atm_if.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netatm/atm_ioctl.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netatm/atm_var.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netatm/kern_include.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netatm/port.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netinet/ip_compat.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netinet/ip_fil.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netinet/ip_nat.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netipx/ipx.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netkey/keysock.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netns/ns.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netns/spp_var.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/rpc/auth.h
+lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/rpc/des.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/rpc/svc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/rpc/types.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/security/_pam_compat.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/sys/dvdio.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/sys/types.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/NXConstStr.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/Object.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/Protocol.h
diff --git a/lang/gcc32/Makefile b/lang/gcc32/Makefile
index 7e19127dbee..8adab151e45 100644
--- a/lang/gcc32/Makefile
+++ b/lang/gcc32/Makefile
@@ -7,7 +7,7 @@
# $FreeBSD$
#
-SNAPDATE= 2000-01-10
+SNAPDATE= 2000-02-07
SNAPVER= ${SNAPDATE:S/-//g}
DISTNAME= gcc-2.96
diff --git a/lang/gcc32/distinfo b/lang/gcc32/distinfo
index 020c4a14328..f986ab4a25f 100644
--- a/lang/gcc32/distinfo
+++ b/lang/gcc32/distinfo
@@ -1,5 +1,5 @@
-MD5 (egcs-core-20000110.tar.gz) = e47ca05ab5ce7e18ce4a506555d60f81
-MD5 (egcs-g++-20000110.tar.gz) = c19564a16c0c17845d50dc190c5741f9
-MD5 (egcs-g77-20000110.tar.gz) = 35c1df043f600a70b0c2dbb493312af3
-MD5 (egcs-java-20000110.tar.gz) = 126b2a84f69cf771ad68c087e05f0b04
-MD5 (egcs-objc-20000110.tar.gz) = 70bb4f393cb07c706008d310cd5fb506
+MD5 (egcs-core-20000207.tar.gz) = aeb16c43745a1192db09629df8d7a63b
+MD5 (egcs-g++-20000207.tar.gz) = 9973693120531615e8a28c40cbb17e10
+MD5 (egcs-g77-20000207.tar.gz) = fa19219b4aab5ba4ef19a21ec66d553b
+MD5 (egcs-java-20000207.tar.gz) = 47cde2f432c910dbb5587f7d5eb94238
+MD5 (egcs-objc-20000207.tar.gz) = 257d673cfabadcd1f2e289d6f21a9715
diff --git a/lang/gcc32/files/patch-ad b/lang/gcc32/files/patch-ad
index b838666b14f..934da77780a 100644
--- a/lang/gcc32/files/patch-ad
+++ b/lang/gcc32/files/patch-ad
@@ -1,21 +1,20 @@
---- 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
-@@ -32,12 +36,10 @@
- #include "i386/perform.h"
+--- gcc/config/i386/freebsd-aout.h.orig Sun Jan 30 23:28:05 2000
++++ gcc/config/i386/freebsd-aout.h Fri Feb 4 05:19:16 2000
+@@ -31,12 +31,7 @@
/* This goes away when the math-emulator is fixed */
--#undef TARGET_DEFAULT
+ #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_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 @@
+@@ -84,14 +79,6 @@
necessary when compiling PIC code. */
#define JUMP_TABLES_IN_TEXT_SECTION 1
@@ -30,7 +29,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
-@@ -105,19 +99,18 @@
+@@ -102,19 +89,18 @@
/* Profiling routines, partially copied from i386/osfrose.h. */
@@ -53,7 +52,7 @@
fprintf (FILE, "\tcall mcount\n"); \
} \
}
-@@ -135,6 +128,7 @@
+@@ -132,6 +118,7 @@
#define TYPE_ASM_OP ".type"
#define SIZE_ASM_OP ".size"
@@ -61,7 +60,7 @@
/* The following macro defines the format used to output the second
operand of the .type assembler directive. Different svr4 assemblers
-@@ -144,6 +138,12 @@
+@@ -141,6 +128,12 @@
#define TYPE_OPERAND_FMT "@%s"
@@ -74,9 +73,12 @@
/* 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 @@
+@@ -242,6 +235,8 @@
#define STARTFILE_SPEC \
"%{shared:c++rt0.o%s} \
%{!shared:%{pg:gcrt0.o%s}%{!pg:%{static:scrt0.o%s}%{!static:crt0.o%s}}}"
+
+#define MD_STARTFILE_PREFIX "/usr/lib/aout/"
+
+ /* Define this so we can compile MS code for use with WINE. */
+ #define HANDLE_PRAGMA_PACK_PUSH_POP
diff --git a/lang/gcc32/files/patch-af b/lang/gcc32/files/patch-af
index c1fbd05ffed..33a8f0886e0 100644
--- a/lang/gcc32/files/patch-af
+++ b/lang/gcc32/files/patch-af
@@ -1,8 +1,8 @@
---- gcc/config/i386/freebsd.h.orig Mon Nov 22 22:17:32 1999
-+++ gcc/config/i386/freebsd.h Wed Dec 15 02:32:20 1999
-@@ -117,6 +117,10 @@
- : ((n) >= FIRST_STACK_REG && (n) <= LAST_STACK_REG) ? (n)+3 \
- : (-1))
+--- 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. */
@@ -11,13 +11,15 @@
/* Tell final.c that we don't need a label passed to mcount. */
#undef FUNCTION_PROFILER
-@@ -140,7 +144,15 @@
+@@ -73,11 +77,15 @@
+
+ #undef WCHAR_TYPE_SIZE
#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_PREDEFINES
+-#define CPP_PREDEFINES "-Dunix -D__ELF__ -D__FreeBSD__\
+- -Asystem(unix) -Asystem(bsd) -Asystem(FreeBSD)"
+
+#undef CC1_SPEC
+#define CC1_SPEC "\
+ %{gline:%{!g:%{!g0:%{!g1:%{!g2: -g1}}}}} \
@@ -25,10 +27,11 @@
+
+#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
-@@ -149,11 +161,11 @@
+ of the support for getting C++ file-scope static object constructed
+@@ -85,11 +93,11 @@
#undef STARTFILE_SPEC
#define STARTFILE_SPEC \
@@ -45,7 +48,7 @@
/* Provide a ENDFILE_SPEC appropriate for FreeBSD. Here we tack on
the magical crtend.o file (see crtstuff.c) which provides part of
-@@ -163,7 +175,7 @@
+@@ -99,7 +107,7 @@
#undef ENDFILE_SPEC
#define ENDFILE_SPEC \
diff --git a/lang/gcc32/files/patch-ar b/lang/gcc32/files/patch-ar
index f2200f115da..e6a4c8ad30b 100644
--- a/lang/gcc32/files/patch-ar
+++ b/lang/gcc32/files/patch-ar
@@ -1,12 +1,15 @@
--- gcc/config/freebsd.h.orig Mon Nov 22 22:17:32 1999
-+++ gcc/config/freebsd.h Sat Dec 18 14:42:03 1999
-@@ -48,13 +48,23 @@
++++ gcc/config/freebsd.h Fri Feb 4 05:29:31 2000
+@@ -48,13 +48,26 @@
#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) "
++#define FBSD_CPP_PREDEFINES " -Dunix -D__FreeBSD__ -Asystem(unix) -Asystem(bsd) -Asystem(FreeBSD) "
++
++#undef CPP_PREDEFINES
++#define CPP_PREDEFINES FBSD_CPP_PREDEFINES
+
/* Provide a CPP_SPEC appropriate for FreeBSD. We just deal with the GCC
option `-posix', and PIC issues. */
diff --git a/lang/gcc32/files/patch-fa b/lang/gcc32/files/patch-fa
index 7f5e0e611ae..984c773d8c1 100644
--- a/lang/gcc32/files/patch-fa
+++ b/lang/gcc32/files/patch-fa
@@ -1,15 +1,15 @@
---- 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 @@
+--- gcc/c-common.c.orig Mon Jan 24 12:10:00 2000
++++ gcc/c-common.c Tue Feb 1 02:43:39 2000
+@@ -152,7 +152,7 @@
+ int, int, int));
+ static void init_attributes PARAMS ((void));
+ static void record_function_format PARAMS ((tree, tree, enum format_type,
+- int, int));
++ int, int, int));
+ static void record_international_format PARAMS ((tree, tree, int));
+ static tree c_find_base_decl PARAMS ((tree));
+ static int default_valid_lang_attribute PARAMS ((tree, tree, tree, tree));
+@@ -812,6 +812,7 @@
= TREE_VALUE (TREE_CHAIN (TREE_CHAIN (args)));
int format_num;
int first_arg_num;
@@ -17,8 +17,8 @@
enum format_type format_type;
tree argument;
int arg_num;
-@@ -682,7 +683,7 @@
-
+@@ -825,7 +826,7 @@
+
if (TREE_CODE (format_type_id) != IDENTIFIER_NODE)
{
- error ("unrecognized format specifier");
@@ -26,9 +26,9 @@
continue;
}
else
-@@ -690,12 +691,26 @@
- char *p = IDENTIFIER_POINTER (format_type_id);
-
+@@ -833,12 +834,26 @@
+ const char *p = IDENTIFIER_POINTER (format_type_id);
+
if (!strcmp (p, "printf") || !strcmp (p, "__printf__"))
+ {
+ format_type = printf_format_type;
@@ -52,8 +52,8 @@
+ }
else
{
- error ("`%s' is an unrecognized format function type", p);
-@@ -766,7 +781,8 @@
+ warning ("`%s' is an unrecognized format function type", p);
+@@ -909,7 +924,8 @@
record_function_format (DECL_NAME (decl),
DECL_ASSEMBLER_NAME (decl),
@@ -63,7 +63,7 @@
break;
}
-@@ -1010,6 +1026,11 @@
+@@ -1213,6 +1229,11 @@
} format_char_info;
static format_char_info print_char_table[] = {
@@ -75,7 +75,7 @@
{ "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 @@
+@@ -1273,6 +1294,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.) */
@@ -83,7 +83,7 @@
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 @@
+@@ -1305,25 +1327,25 @@
init_function_format_info ()
{
record_function_format (get_identifier ("printf"), NULL_TREE,
@@ -119,7 +119,7 @@
record_international_format (get_identifier ("gettext"), NULL_TREE, 1);
record_international_format (get_identifier ("dgettext"), NULL_TREE, 2);
-@@ -1137,11 +1159,12 @@
+@@ -1340,11 +1362,12 @@
(e.g. for varargs such as vfprintf). */
static void
@@ -133,7 +133,7 @@
int format_num;
int first_arg_num;
{
-@@ -1165,6 +1188,7 @@
+@@ -1368,6 +1391,7 @@
}
info->format_type = format_type;
@@ -141,7 +141,7 @@
info->format_num = format_num;
info->first_arg_num = first_arg_num;
}
-@@ -1314,7 +1338,8 @@
+@@ -1521,7 +1545,8 @@
if (integer_zerop (format_tree))
{
@@ -151,7 +151,7 @@
return;
}
if (TREE_CODE (format_tree) != ADDR_EXPR)
-@@ -1485,12 +1510,13 @@
+@@ -1710,12 +1735,13 @@
It will work on most machines, because size_t and int
have the same mode. But might as well warn anyway,
since it will fail on other machines. */
@@ -166,7 +166,7 @@
}
}
else
-@@ -1535,6 +1561,53 @@
+@@ -1760,6 +1786,53 @@
}
}
}
@@ -220,7 +220,7 @@
aflag = 0;
-@@ -1604,7 +1677,8 @@
+@@ -1828,7 +1901,8 @@
switch (info->format_type)
{
case printf_format_type:
diff --git a/lang/gcc32/pkg-plist b/lang/gcc32/pkg-plist
index 8b45855df51..c498178645e 100644
--- a/lang/gcc32/pkg-plist
+++ b/lang/gcc32/pkg-plist
@@ -77,7 +77,6 @@ lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/map.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/memory
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/multimap.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/multiset.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/new.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/numeric
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/ostream.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/pair.h
@@ -237,7 +236,6 @@ lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/collect2
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/f771
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/README
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/assert.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/curses.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/exception
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/float.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g2c.h
@@ -250,33 +248,17 @@ lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/proto.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stdarg.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stdbool.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stddef.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stdlib.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stdio.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/syslimits.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/typeinfo
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/values.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/varargs.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/zconf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/net/netisr.h
+lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/machine/ansi.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/net/zlib.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netatm/atm_if.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netatm/atm_ioctl.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netatm/atm_var.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netatm/kern_include.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netatm/port.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netinet/ip_compat.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netinet/ip_fil.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netinet/ip_nat.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netipx/ipx.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netkey/keysock.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netns/ns.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netns/spp_var.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/rpc/auth.h
+lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/rpc/des.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/rpc/svc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/rpc/types.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/security/_pam_compat.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/sys/dvdio.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/sys/types.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/NXConstStr.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/Object.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/Protocol.h
diff --git a/lang/gcc33/Makefile b/lang/gcc33/Makefile
index 7e19127dbee..8adab151e45 100644
--- a/lang/gcc33/Makefile
+++ b/lang/gcc33/Makefile
@@ -7,7 +7,7 @@
# $FreeBSD$
#
-SNAPDATE= 2000-01-10
+SNAPDATE= 2000-02-07
SNAPVER= ${SNAPDATE:S/-//g}
DISTNAME= gcc-2.96
diff --git a/lang/gcc33/distinfo b/lang/gcc33/distinfo
index 020c4a14328..f986ab4a25f 100644
--- a/lang/gcc33/distinfo
+++ b/lang/gcc33/distinfo
@@ -1,5 +1,5 @@
-MD5 (egcs-core-20000110.tar.gz) = e47ca05ab5ce7e18ce4a506555d60f81
-MD5 (egcs-g++-20000110.tar.gz) = c19564a16c0c17845d50dc190c5741f9
-MD5 (egcs-g77-20000110.tar.gz) = 35c1df043f600a70b0c2dbb493312af3
-MD5 (egcs-java-20000110.tar.gz) = 126b2a84f69cf771ad68c087e05f0b04
-MD5 (egcs-objc-20000110.tar.gz) = 70bb4f393cb07c706008d310cd5fb506
+MD5 (egcs-core-20000207.tar.gz) = aeb16c43745a1192db09629df8d7a63b
+MD5 (egcs-g++-20000207.tar.gz) = 9973693120531615e8a28c40cbb17e10
+MD5 (egcs-g77-20000207.tar.gz) = fa19219b4aab5ba4ef19a21ec66d553b
+MD5 (egcs-java-20000207.tar.gz) = 47cde2f432c910dbb5587f7d5eb94238
+MD5 (egcs-objc-20000207.tar.gz) = 257d673cfabadcd1f2e289d6f21a9715
diff --git a/lang/gcc33/files/patch-ad b/lang/gcc33/files/patch-ad
index b838666b14f..934da77780a 100644
--- a/lang/gcc33/files/patch-ad
+++ b/lang/gcc33/files/patch-ad
@@ -1,21 +1,20 @@
---- 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
-@@ -32,12 +36,10 @@
- #include "i386/perform.h"
+--- gcc/config/i386/freebsd-aout.h.orig Sun Jan 30 23:28:05 2000
++++ gcc/config/i386/freebsd-aout.h Fri Feb 4 05:19:16 2000
+@@ -31,12 +31,7 @@
/* This goes away when the math-emulator is fixed */
--#undef TARGET_DEFAULT
+ #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_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 @@
+@@ -84,14 +79,6 @@
necessary when compiling PIC code. */
#define JUMP_TABLES_IN_TEXT_SECTION 1
@@ -30,7 +29,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
-@@ -105,19 +99,18 @@
+@@ -102,19 +89,18 @@
/* Profiling routines, partially copied from i386/osfrose.h. */
@@ -53,7 +52,7 @@
fprintf (FILE, "\tcall mcount\n"); \
} \
}
-@@ -135,6 +128,7 @@
+@@ -132,6 +118,7 @@
#define TYPE_ASM_OP ".type"
#define SIZE_ASM_OP ".size"
@@ -61,7 +60,7 @@
/* The following macro defines the format used to output the second
operand of the .type assembler directive. Different svr4 assemblers
-@@ -144,6 +138,12 @@
+@@ -141,6 +128,12 @@
#define TYPE_OPERAND_FMT "@%s"
@@ -74,9 +73,12 @@
/* 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 @@
+@@ -242,6 +235,8 @@
#define STARTFILE_SPEC \
"%{shared:c++rt0.o%s} \
%{!shared:%{pg:gcrt0.o%s}%{!pg:%{static:scrt0.o%s}%{!static:crt0.o%s}}}"
+
+#define MD_STARTFILE_PREFIX "/usr/lib/aout/"
+
+ /* Define this so we can compile MS code for use with WINE. */
+ #define HANDLE_PRAGMA_PACK_PUSH_POP
diff --git a/lang/gcc33/files/patch-af b/lang/gcc33/files/patch-af
index c1fbd05ffed..33a8f0886e0 100644
--- a/lang/gcc33/files/patch-af
+++ b/lang/gcc33/files/patch-af
@@ -1,8 +1,8 @@
---- gcc/config/i386/freebsd.h.orig Mon Nov 22 22:17:32 1999
-+++ gcc/config/i386/freebsd.h Wed Dec 15 02:32:20 1999
-@@ -117,6 +117,10 @@
- : ((n) >= FIRST_STACK_REG && (n) <= LAST_STACK_REG) ? (n)+3 \
- : (-1))
+--- 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. */
@@ -11,13 +11,15 @@
/* Tell final.c that we don't need a label passed to mcount. */
#undef FUNCTION_PROFILER
-@@ -140,7 +144,15 @@
+@@ -73,11 +77,15 @@
+
+ #undef WCHAR_TYPE_SIZE
#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_PREDEFINES
+-#define CPP_PREDEFINES "-Dunix -D__ELF__ -D__FreeBSD__\
+- -Asystem(unix) -Asystem(bsd) -Asystem(FreeBSD)"
+
+#undef CC1_SPEC
+#define CC1_SPEC "\
+ %{gline:%{!g:%{!g0:%{!g1:%{!g2: -g1}}}}} \
@@ -25,10 +27,11 @@
+
+#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
-@@ -149,11 +161,11 @@
+ of the support for getting C++ file-scope static object constructed
+@@ -85,11 +93,11 @@
#undef STARTFILE_SPEC
#define STARTFILE_SPEC \
@@ -45,7 +48,7 @@
/* Provide a ENDFILE_SPEC appropriate for FreeBSD. Here we tack on
the magical crtend.o file (see crtstuff.c) which provides part of
-@@ -163,7 +175,7 @@
+@@ -99,7 +107,7 @@
#undef ENDFILE_SPEC
#define ENDFILE_SPEC \
diff --git a/lang/gcc33/files/patch-ar b/lang/gcc33/files/patch-ar
index f2200f115da..e6a4c8ad30b 100644
--- a/lang/gcc33/files/patch-ar
+++ b/lang/gcc33/files/patch-ar
@@ -1,12 +1,15 @@
--- gcc/config/freebsd.h.orig Mon Nov 22 22:17:32 1999
-+++ gcc/config/freebsd.h Sat Dec 18 14:42:03 1999
-@@ -48,13 +48,23 @@
++++ gcc/config/freebsd.h Fri Feb 4 05:29:31 2000
+@@ -48,13 +48,26 @@
#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) "
++#define FBSD_CPP_PREDEFINES " -Dunix -D__FreeBSD__ -Asystem(unix) -Asystem(bsd) -Asystem(FreeBSD) "
++
++#undef CPP_PREDEFINES
++#define CPP_PREDEFINES FBSD_CPP_PREDEFINES
+
/* Provide a CPP_SPEC appropriate for FreeBSD. We just deal with the GCC
option `-posix', and PIC issues. */
diff --git a/lang/gcc33/files/patch-fa b/lang/gcc33/files/patch-fa
index 7f5e0e611ae..984c773d8c1 100644
--- a/lang/gcc33/files/patch-fa
+++ b/lang/gcc33/files/patch-fa
@@ -1,15 +1,15 @@
---- 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 @@
+--- gcc/c-common.c.orig Mon Jan 24 12:10:00 2000
++++ gcc/c-common.c Tue Feb 1 02:43:39 2000
+@@ -152,7 +152,7 @@
+ int, int, int));
+ static void init_attributes PARAMS ((void));
+ static void record_function_format PARAMS ((tree, tree, enum format_type,
+- int, int));
++ int, int, int));
+ static void record_international_format PARAMS ((tree, tree, int));
+ static tree c_find_base_decl PARAMS ((tree));
+ static int default_valid_lang_attribute PARAMS ((tree, tree, tree, tree));
+@@ -812,6 +812,7 @@
= TREE_VALUE (TREE_CHAIN (TREE_CHAIN (args)));
int format_num;
int first_arg_num;
@@ -17,8 +17,8 @@
enum format_type format_type;
tree argument;
int arg_num;
-@@ -682,7 +683,7 @@
-
+@@ -825,7 +826,7 @@
+
if (TREE_CODE (format_type_id) != IDENTIFIER_NODE)
{
- error ("unrecognized format specifier");
@@ -26,9 +26,9 @@
continue;
}
else
-@@ -690,12 +691,26 @@
- char *p = IDENTIFIER_POINTER (format_type_id);
-
+@@ -833,12 +834,26 @@
+ const char *p = IDENTIFIER_POINTER (format_type_id);
+
if (!strcmp (p, "printf") || !strcmp (p, "__printf__"))
+ {
+ format_type = printf_format_type;
@@ -52,8 +52,8 @@
+ }
else
{
- error ("`%s' is an unrecognized format function type", p);
-@@ -766,7 +781,8 @@
+ warning ("`%s' is an unrecognized format function type", p);
+@@ -909,7 +924,8 @@
record_function_format (DECL_NAME (decl),
DECL_ASSEMBLER_NAME (decl),
@@ -63,7 +63,7 @@
break;
}
-@@ -1010,6 +1026,11 @@
+@@ -1213,6 +1229,11 @@
} format_char_info;
static format_char_info print_char_table[] = {
@@ -75,7 +75,7 @@
{ "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 @@
+@@ -1273,6 +1294,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.) */
@@ -83,7 +83,7 @@
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 @@
+@@ -1305,25 +1327,25 @@
init_function_format_info ()
{
record_function_format (get_identifier ("printf"), NULL_TREE,
@@ -119,7 +119,7 @@
record_international_format (get_identifier ("gettext"), NULL_TREE, 1);
record_international_format (get_identifier ("dgettext"), NULL_TREE, 2);
-@@ -1137,11 +1159,12 @@
+@@ -1340,11 +1362,12 @@
(e.g. for varargs such as vfprintf). */
static void
@@ -133,7 +133,7 @@
int format_num;
int first_arg_num;
{
-@@ -1165,6 +1188,7 @@
+@@ -1368,6 +1391,7 @@
}
info->format_type = format_type;
@@ -141,7 +141,7 @@
info->format_num = format_num;
info->first_arg_num = first_arg_num;
}
-@@ -1314,7 +1338,8 @@
+@@ -1521,7 +1545,8 @@
if (integer_zerop (format_tree))
{
@@ -151,7 +151,7 @@
return;
}
if (TREE_CODE (format_tree) != ADDR_EXPR)
-@@ -1485,12 +1510,13 @@
+@@ -1710,12 +1735,13 @@
It will work on most machines, because size_t and int
have the same mode. But might as well warn anyway,
since it will fail on other machines. */
@@ -166,7 +166,7 @@
}
}
else
-@@ -1535,6 +1561,53 @@
+@@ -1760,6 +1786,53 @@
}
}
}
@@ -220,7 +220,7 @@
aflag = 0;
-@@ -1604,7 +1677,8 @@
+@@ -1828,7 +1901,8 @@
switch (info->format_type)
{
case printf_format_type:
diff --git a/lang/gcc33/pkg-plist b/lang/gcc33/pkg-plist
index 8b45855df51..c498178645e 100644
--- a/lang/gcc33/pkg-plist
+++ b/lang/gcc33/pkg-plist
@@ -77,7 +77,6 @@ lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/map.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/memory
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/multimap.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/multiset.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/new.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/numeric
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/ostream.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/pair.h
@@ -237,7 +236,6 @@ lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/collect2
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/f771
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/README
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/assert.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/curses.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/exception
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/float.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g2c.h
@@ -250,33 +248,17 @@ lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/proto.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stdarg.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stdbool.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stddef.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stdlib.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stdio.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/syslimits.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/typeinfo
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/values.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/varargs.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/zconf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/net/netisr.h
+lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/machine/ansi.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/net/zlib.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netatm/atm_if.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netatm/atm_ioctl.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netatm/atm_var.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netatm/kern_include.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netatm/port.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netinet/ip_compat.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netinet/ip_fil.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netinet/ip_nat.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netipx/ipx.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netkey/keysock.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netns/ns.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netns/spp_var.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/rpc/auth.h
+lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/rpc/des.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/rpc/svc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/rpc/types.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/security/_pam_compat.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/sys/dvdio.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/sys/types.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/NXConstStr.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/Object.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/Protocol.h
diff --git a/lang/gcc34/Makefile b/lang/gcc34/Makefile
index 7e19127dbee..8adab151e45 100644
--- a/lang/gcc34/Makefile
+++ b/lang/gcc34/Makefile
@@ -7,7 +7,7 @@
# $FreeBSD$
#
-SNAPDATE= 2000-01-10
+SNAPDATE= 2000-02-07
SNAPVER= ${SNAPDATE:S/-//g}
DISTNAME= gcc-2.96
diff --git a/lang/gcc34/distinfo b/lang/gcc34/distinfo
index 020c4a14328..f986ab4a25f 100644
--- a/lang/gcc34/distinfo
+++ b/lang/gcc34/distinfo
@@ -1,5 +1,5 @@
-MD5 (egcs-core-20000110.tar.gz) = e47ca05ab5ce7e18ce4a506555d60f81
-MD5 (egcs-g++-20000110.tar.gz) = c19564a16c0c17845d50dc190c5741f9
-MD5 (egcs-g77-20000110.tar.gz) = 35c1df043f600a70b0c2dbb493312af3
-MD5 (egcs-java-20000110.tar.gz) = 126b2a84f69cf771ad68c087e05f0b04
-MD5 (egcs-objc-20000110.tar.gz) = 70bb4f393cb07c706008d310cd5fb506
+MD5 (egcs-core-20000207.tar.gz) = aeb16c43745a1192db09629df8d7a63b
+MD5 (egcs-g++-20000207.tar.gz) = 9973693120531615e8a28c40cbb17e10
+MD5 (egcs-g77-20000207.tar.gz) = fa19219b4aab5ba4ef19a21ec66d553b
+MD5 (egcs-java-20000207.tar.gz) = 47cde2f432c910dbb5587f7d5eb94238
+MD5 (egcs-objc-20000207.tar.gz) = 257d673cfabadcd1f2e289d6f21a9715
diff --git a/lang/gcc34/files/patch-ad b/lang/gcc34/files/patch-ad
index b838666b14f..934da77780a 100644
--- a/lang/gcc34/files/patch-ad
+++ b/lang/gcc34/files/patch-ad
@@ -1,21 +1,20 @@
---- 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
-@@ -32,12 +36,10 @@
- #include "i386/perform.h"
+--- gcc/config/i386/freebsd-aout.h.orig Sun Jan 30 23:28:05 2000
++++ gcc/config/i386/freebsd-aout.h Fri Feb 4 05:19:16 2000
+@@ -31,12 +31,7 @@
/* This goes away when the math-emulator is fixed */
--#undef TARGET_DEFAULT
+ #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_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 @@
+@@ -84,14 +79,6 @@
necessary when compiling PIC code. */
#define JUMP_TABLES_IN_TEXT_SECTION 1
@@ -30,7 +29,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
-@@ -105,19 +99,18 @@
+@@ -102,19 +89,18 @@
/* Profiling routines, partially copied from i386/osfrose.h. */
@@ -53,7 +52,7 @@
fprintf (FILE, "\tcall mcount\n"); \
} \
}
-@@ -135,6 +128,7 @@
+@@ -132,6 +118,7 @@
#define TYPE_ASM_OP ".type"
#define SIZE_ASM_OP ".size"
@@ -61,7 +60,7 @@
/* The following macro defines the format used to output the second
operand of the .type assembler directive. Different svr4 assemblers
-@@ -144,6 +138,12 @@
+@@ -141,6 +128,12 @@
#define TYPE_OPERAND_FMT "@%s"
@@ -74,9 +73,12 @@
/* 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 @@
+@@ -242,6 +235,8 @@
#define STARTFILE_SPEC \
"%{shared:c++rt0.o%s} \
%{!shared:%{pg:gcrt0.o%s}%{!pg:%{static:scrt0.o%s}%{!static:crt0.o%s}}}"
+
+#define MD_STARTFILE_PREFIX "/usr/lib/aout/"
+
+ /* Define this so we can compile MS code for use with WINE. */
+ #define HANDLE_PRAGMA_PACK_PUSH_POP
diff --git a/lang/gcc34/files/patch-af b/lang/gcc34/files/patch-af
index c1fbd05ffed..33a8f0886e0 100644
--- a/lang/gcc34/files/patch-af
+++ b/lang/gcc34/files/patch-af
@@ -1,8 +1,8 @@
---- gcc/config/i386/freebsd.h.orig Mon Nov 22 22:17:32 1999
-+++ gcc/config/i386/freebsd.h Wed Dec 15 02:32:20 1999
-@@ -117,6 +117,10 @@
- : ((n) >= FIRST_STACK_REG && (n) <= LAST_STACK_REG) ? (n)+3 \
- : (-1))
+--- 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. */
@@ -11,13 +11,15 @@
/* Tell final.c that we don't need a label passed to mcount. */
#undef FUNCTION_PROFILER
-@@ -140,7 +144,15 @@
+@@ -73,11 +77,15 @@
+
+ #undef WCHAR_TYPE_SIZE
#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_PREDEFINES
+-#define CPP_PREDEFINES "-Dunix -D__ELF__ -D__FreeBSD__\
+- -Asystem(unix) -Asystem(bsd) -Asystem(FreeBSD)"
+
+#undef CC1_SPEC
+#define CC1_SPEC "\
+ %{gline:%{!g:%{!g0:%{!g1:%{!g2: -g1}}}}} \
@@ -25,10 +27,11 @@
+
+#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
-@@ -149,11 +161,11 @@
+ of the support for getting C++ file-scope static object constructed
+@@ -85,11 +93,11 @@
#undef STARTFILE_SPEC
#define STARTFILE_SPEC \
@@ -45,7 +48,7 @@
/* Provide a ENDFILE_SPEC appropriate for FreeBSD. Here we tack on
the magical crtend.o file (see crtstuff.c) which provides part of
-@@ -163,7 +175,7 @@
+@@ -99,7 +107,7 @@
#undef ENDFILE_SPEC
#define ENDFILE_SPEC \
diff --git a/lang/gcc34/files/patch-ar b/lang/gcc34/files/patch-ar
index f2200f115da..e6a4c8ad30b 100644
--- a/lang/gcc34/files/patch-ar
+++ b/lang/gcc34/files/patch-ar
@@ -1,12 +1,15 @@
--- gcc/config/freebsd.h.orig Mon Nov 22 22:17:32 1999
-+++ gcc/config/freebsd.h Sat Dec 18 14:42:03 1999
-@@ -48,13 +48,23 @@
++++ gcc/config/freebsd.h Fri Feb 4 05:29:31 2000
+@@ -48,13 +48,26 @@
#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) "
++#define FBSD_CPP_PREDEFINES " -Dunix -D__FreeBSD__ -Asystem(unix) -Asystem(bsd) -Asystem(FreeBSD) "
++
++#undef CPP_PREDEFINES
++#define CPP_PREDEFINES FBSD_CPP_PREDEFINES
+
/* Provide a CPP_SPEC appropriate for FreeBSD. We just deal with the GCC
option `-posix', and PIC issues. */
diff --git a/lang/gcc34/files/patch-fa b/lang/gcc34/files/patch-fa
index 7f5e0e611ae..984c773d8c1 100644
--- a/lang/gcc34/files/patch-fa
+++ b/lang/gcc34/files/patch-fa
@@ -1,15 +1,15 @@
---- 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 @@
+--- gcc/c-common.c.orig Mon Jan 24 12:10:00 2000
++++ gcc/c-common.c Tue Feb 1 02:43:39 2000
+@@ -152,7 +152,7 @@
+ int, int, int));
+ static void init_attributes PARAMS ((void));
+ static void record_function_format PARAMS ((tree, tree, enum format_type,
+- int, int));
++ int, int, int));
+ static void record_international_format PARAMS ((tree, tree, int));
+ static tree c_find_base_decl PARAMS ((tree));
+ static int default_valid_lang_attribute PARAMS ((tree, tree, tree, tree));
+@@ -812,6 +812,7 @@
= TREE_VALUE (TREE_CHAIN (TREE_CHAIN (args)));
int format_num;
int first_arg_num;
@@ -17,8 +17,8 @@
enum format_type format_type;
tree argument;
int arg_num;
-@@ -682,7 +683,7 @@
-
+@@ -825,7 +826,7 @@
+
if (TREE_CODE (format_type_id) != IDENTIFIER_NODE)
{
- error ("unrecognized format specifier");
@@ -26,9 +26,9 @@
continue;
}
else
-@@ -690,12 +691,26 @@
- char *p = IDENTIFIER_POINTER (format_type_id);
-
+@@ -833,12 +834,26 @@
+ const char *p = IDENTIFIER_POINTER (format_type_id);
+
if (!strcmp (p, "printf") || !strcmp (p, "__printf__"))
+ {
+ format_type = printf_format_type;
@@ -52,8 +52,8 @@
+ }
else
{
- error ("`%s' is an unrecognized format function type", p);
-@@ -766,7 +781,8 @@
+ warning ("`%s' is an unrecognized format function type", p);
+@@ -909,7 +924,8 @@
record_function_format (DECL_NAME (decl),
DECL_ASSEMBLER_NAME (decl),
@@ -63,7 +63,7 @@
break;
}
-@@ -1010,6 +1026,11 @@
+@@ -1213,6 +1229,11 @@
} format_char_info;
static format_char_info print_char_table[] = {
@@ -75,7 +75,7 @@
{ "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 @@
+@@ -1273,6 +1294,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.) */
@@ -83,7 +83,7 @@
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 @@
+@@ -1305,25 +1327,25 @@
init_function_format_info ()
{
record_function_format (get_identifier ("printf"), NULL_TREE,
@@ -119,7 +119,7 @@
record_international_format (get_identifier ("gettext"), NULL_TREE, 1);
record_international_format (get_identifier ("dgettext"), NULL_TREE, 2);
-@@ -1137,11 +1159,12 @@
+@@ -1340,11 +1362,12 @@
(e.g. for varargs such as vfprintf). */
static void
@@ -133,7 +133,7 @@
int format_num;
int first_arg_num;
{
-@@ -1165,6 +1188,7 @@
+@@ -1368,6 +1391,7 @@
}
info->format_type = format_type;
@@ -141,7 +141,7 @@
info->format_num = format_num;
info->first_arg_num = first_arg_num;
}
-@@ -1314,7 +1338,8 @@
+@@ -1521,7 +1545,8 @@
if (integer_zerop (format_tree))
{
@@ -151,7 +151,7 @@
return;
}
if (TREE_CODE (format_tree) != ADDR_EXPR)
-@@ -1485,12 +1510,13 @@
+@@ -1710,12 +1735,13 @@
It will work on most machines, because size_t and int
have the same mode. But might as well warn anyway,
since it will fail on other machines. */
@@ -166,7 +166,7 @@
}
}
else
-@@ -1535,6 +1561,53 @@
+@@ -1760,6 +1786,53 @@
}
}
}
@@ -220,7 +220,7 @@
aflag = 0;
-@@ -1604,7 +1677,8 @@
+@@ -1828,7 +1901,8 @@
switch (info->format_type)
{
case printf_format_type:
diff --git a/lang/gcc34/pkg-plist b/lang/gcc34/pkg-plist
index 8b45855df51..c498178645e 100644
--- a/lang/gcc34/pkg-plist
+++ b/lang/gcc34/pkg-plist
@@ -77,7 +77,6 @@ lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/map.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/memory
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/multimap.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/multiset.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/new.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/numeric
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/ostream.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/pair.h
@@ -237,7 +236,6 @@ lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/collect2
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/f771
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/README
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/assert.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/curses.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/exception
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/float.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g2c.h
@@ -250,33 +248,17 @@ lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/proto.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stdarg.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stdbool.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stddef.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stdlib.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stdio.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/syslimits.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/typeinfo
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/values.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/varargs.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/zconf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/net/netisr.h
+lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/machine/ansi.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/net/zlib.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netatm/atm_if.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netatm/atm_ioctl.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netatm/atm_var.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netatm/kern_include.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netatm/port.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netinet/ip_compat.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netinet/ip_fil.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netinet/ip_nat.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netipx/ipx.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netkey/keysock.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netns/ns.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netns/spp_var.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/rpc/auth.h
+lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/rpc/des.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/rpc/svc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/rpc/types.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/security/_pam_compat.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/sys/dvdio.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/sys/types.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/NXConstStr.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/Object.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/Protocol.h
diff --git a/lang/gcc35/Makefile b/lang/gcc35/Makefile
index 7e19127dbee..8adab151e45 100644
--- a/lang/gcc35/Makefile
+++ b/lang/gcc35/Makefile
@@ -7,7 +7,7 @@
# $FreeBSD$
#
-SNAPDATE= 2000-01-10
+SNAPDATE= 2000-02-07
SNAPVER= ${SNAPDATE:S/-//g}
DISTNAME= gcc-2.96
diff --git a/lang/gcc35/distinfo b/lang/gcc35/distinfo
index 020c4a14328..f986ab4a25f 100644
--- a/lang/gcc35/distinfo
+++ b/lang/gcc35/distinfo
@@ -1,5 +1,5 @@
-MD5 (egcs-core-20000110.tar.gz) = e47ca05ab5ce7e18ce4a506555d60f81
-MD5 (egcs-g++-20000110.tar.gz) = c19564a16c0c17845d50dc190c5741f9
-MD5 (egcs-g77-20000110.tar.gz) = 35c1df043f600a70b0c2dbb493312af3
-MD5 (egcs-java-20000110.tar.gz) = 126b2a84f69cf771ad68c087e05f0b04
-MD5 (egcs-objc-20000110.tar.gz) = 70bb4f393cb07c706008d310cd5fb506
+MD5 (egcs-core-20000207.tar.gz) = aeb16c43745a1192db09629df8d7a63b
+MD5 (egcs-g++-20000207.tar.gz) = 9973693120531615e8a28c40cbb17e10
+MD5 (egcs-g77-20000207.tar.gz) = fa19219b4aab5ba4ef19a21ec66d553b
+MD5 (egcs-java-20000207.tar.gz) = 47cde2f432c910dbb5587f7d5eb94238
+MD5 (egcs-objc-20000207.tar.gz) = 257d673cfabadcd1f2e289d6f21a9715
diff --git a/lang/gcc35/files/patch-ad b/lang/gcc35/files/patch-ad
index b838666b14f..934da77780a 100644
--- a/lang/gcc35/files/patch-ad
+++ b/lang/gcc35/files/patch-ad
@@ -1,21 +1,20 @@
---- 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
-@@ -32,12 +36,10 @@
- #include "i386/perform.h"
+--- gcc/config/i386/freebsd-aout.h.orig Sun Jan 30 23:28:05 2000
++++ gcc/config/i386/freebsd-aout.h Fri Feb 4 05:19:16 2000
+@@ -31,12 +31,7 @@
/* This goes away when the math-emulator is fixed */
--#undef TARGET_DEFAULT
+ #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_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 @@
+@@ -84,14 +79,6 @@
necessary when compiling PIC code. */
#define JUMP_TABLES_IN_TEXT_SECTION 1
@@ -30,7 +29,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
-@@ -105,19 +99,18 @@
+@@ -102,19 +89,18 @@
/* Profiling routines, partially copied from i386/osfrose.h. */
@@ -53,7 +52,7 @@
fprintf (FILE, "\tcall mcount\n"); \
} \
}
-@@ -135,6 +128,7 @@
+@@ -132,6 +118,7 @@
#define TYPE_ASM_OP ".type"
#define SIZE_ASM_OP ".size"
@@ -61,7 +60,7 @@
/* The following macro defines the format used to output the second
operand of the .type assembler directive. Different svr4 assemblers
-@@ -144,6 +138,12 @@
+@@ -141,6 +128,12 @@
#define TYPE_OPERAND_FMT "@%s"
@@ -74,9 +73,12 @@
/* 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 @@
+@@ -242,6 +235,8 @@
#define STARTFILE_SPEC \
"%{shared:c++rt0.o%s} \
%{!shared:%{pg:gcrt0.o%s}%{!pg:%{static:scrt0.o%s}%{!static:crt0.o%s}}}"
+
+#define MD_STARTFILE_PREFIX "/usr/lib/aout/"
+
+ /* Define this so we can compile MS code for use with WINE. */
+ #define HANDLE_PRAGMA_PACK_PUSH_POP
diff --git a/lang/gcc35/files/patch-af b/lang/gcc35/files/patch-af
index c1fbd05ffed..33a8f0886e0 100644
--- a/lang/gcc35/files/patch-af
+++ b/lang/gcc35/files/patch-af
@@ -1,8 +1,8 @@
---- gcc/config/i386/freebsd.h.orig Mon Nov 22 22:17:32 1999
-+++ gcc/config/i386/freebsd.h Wed Dec 15 02:32:20 1999
-@@ -117,6 +117,10 @@
- : ((n) >= FIRST_STACK_REG && (n) <= LAST_STACK_REG) ? (n)+3 \
- : (-1))
+--- 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. */
@@ -11,13 +11,15 @@
/* Tell final.c that we don't need a label passed to mcount. */
#undef FUNCTION_PROFILER
-@@ -140,7 +144,15 @@
+@@ -73,11 +77,15 @@
+
+ #undef WCHAR_TYPE_SIZE
#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_PREDEFINES
+-#define CPP_PREDEFINES "-Dunix -D__ELF__ -D__FreeBSD__\
+- -Asystem(unix) -Asystem(bsd) -Asystem(FreeBSD)"
+
+#undef CC1_SPEC
+#define CC1_SPEC "\
+ %{gline:%{!g:%{!g0:%{!g1:%{!g2: -g1}}}}} \
@@ -25,10 +27,11 @@
+
+#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
-@@ -149,11 +161,11 @@
+ of the support for getting C++ file-scope static object constructed
+@@ -85,11 +93,11 @@
#undef STARTFILE_SPEC
#define STARTFILE_SPEC \
@@ -45,7 +48,7 @@
/* Provide a ENDFILE_SPEC appropriate for FreeBSD. Here we tack on
the magical crtend.o file (see crtstuff.c) which provides part of
-@@ -163,7 +175,7 @@
+@@ -99,7 +107,7 @@
#undef ENDFILE_SPEC
#define ENDFILE_SPEC \
diff --git a/lang/gcc35/files/patch-ar b/lang/gcc35/files/patch-ar
index f2200f115da..e6a4c8ad30b 100644
--- a/lang/gcc35/files/patch-ar
+++ b/lang/gcc35/files/patch-ar
@@ -1,12 +1,15 @@
--- gcc/config/freebsd.h.orig Mon Nov 22 22:17:32 1999
-+++ gcc/config/freebsd.h Sat Dec 18 14:42:03 1999
-@@ -48,13 +48,23 @@
++++ gcc/config/freebsd.h Fri Feb 4 05:29:31 2000
+@@ -48,13 +48,26 @@
#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) "
++#define FBSD_CPP_PREDEFINES " -Dunix -D__FreeBSD__ -Asystem(unix) -Asystem(bsd) -Asystem(FreeBSD) "
++
++#undef CPP_PREDEFINES
++#define CPP_PREDEFINES FBSD_CPP_PREDEFINES
+
/* Provide a CPP_SPEC appropriate for FreeBSD. We just deal with the GCC
option `-posix', and PIC issues. */
diff --git a/lang/gcc35/files/patch-fa b/lang/gcc35/files/patch-fa
index 7f5e0e611ae..984c773d8c1 100644
--- a/lang/gcc35/files/patch-fa
+++ b/lang/gcc35/files/patch-fa
@@ -1,15 +1,15 @@
---- 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 @@
+--- gcc/c-common.c.orig Mon Jan 24 12:10:00 2000
++++ gcc/c-common.c Tue Feb 1 02:43:39 2000
+@@ -152,7 +152,7 @@
+ int, int, int));
+ static void init_attributes PARAMS ((void));
+ static void record_function_format PARAMS ((tree, tree, enum format_type,
+- int, int));
++ int, int, int));
+ static void record_international_format PARAMS ((tree, tree, int));
+ static tree c_find_base_decl PARAMS ((tree));
+ static int default_valid_lang_attribute PARAMS ((tree, tree, tree, tree));
+@@ -812,6 +812,7 @@
= TREE_VALUE (TREE_CHAIN (TREE_CHAIN (args)));
int format_num;
int first_arg_num;
@@ -17,8 +17,8 @@
enum format_type format_type;
tree argument;
int arg_num;
-@@ -682,7 +683,7 @@
-
+@@ -825,7 +826,7 @@
+
if (TREE_CODE (format_type_id) != IDENTIFIER_NODE)
{
- error ("unrecognized format specifier");
@@ -26,9 +26,9 @@
continue;
}
else
-@@ -690,12 +691,26 @@
- char *p = IDENTIFIER_POINTER (format_type_id);
-
+@@ -833,12 +834,26 @@
+ const char *p = IDENTIFIER_POINTER (format_type_id);
+
if (!strcmp (p, "printf") || !strcmp (p, "__printf__"))
+ {
+ format_type = printf_format_type;
@@ -52,8 +52,8 @@
+ }
else
{
- error ("`%s' is an unrecognized format function type", p);
-@@ -766,7 +781,8 @@
+ warning ("`%s' is an unrecognized format function type", p);
+@@ -909,7 +924,8 @@
record_function_format (DECL_NAME (decl),
DECL_ASSEMBLER_NAME (decl),
@@ -63,7 +63,7 @@
break;
}
-@@ -1010,6 +1026,11 @@
+@@ -1213,6 +1229,11 @@
} format_char_info;
static format_char_info print_char_table[] = {
@@ -75,7 +75,7 @@
{ "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 @@
+@@ -1273,6 +1294,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.) */
@@ -83,7 +83,7 @@
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 @@
+@@ -1305,25 +1327,25 @@
init_function_format_info ()
{
record_function_format (get_identifier ("printf"), NULL_TREE,
@@ -119,7 +119,7 @@
record_international_format (get_identifier ("gettext"), NULL_TREE, 1);
record_international_format (get_identifier ("dgettext"), NULL_TREE, 2);
-@@ -1137,11 +1159,12 @@
+@@ -1340,11 +1362,12 @@
(e.g. for varargs such as vfprintf). */
static void
@@ -133,7 +133,7 @@
int format_num;
int first_arg_num;
{
-@@ -1165,6 +1188,7 @@
+@@ -1368,6 +1391,7 @@
}
info->format_type = format_type;
@@ -141,7 +141,7 @@
info->format_num = format_num;
info->first_arg_num = first_arg_num;
}
-@@ -1314,7 +1338,8 @@
+@@ -1521,7 +1545,8 @@
if (integer_zerop (format_tree))
{
@@ -151,7 +151,7 @@
return;
}
if (TREE_CODE (format_tree) != ADDR_EXPR)
-@@ -1485,12 +1510,13 @@
+@@ -1710,12 +1735,13 @@
It will work on most machines, because size_t and int
have the same mode. But might as well warn anyway,
since it will fail on other machines. */
@@ -166,7 +166,7 @@
}
}
else
-@@ -1535,6 +1561,53 @@
+@@ -1760,6 +1786,53 @@
}
}
}
@@ -220,7 +220,7 @@
aflag = 0;
-@@ -1604,7 +1677,8 @@
+@@ -1828,7 +1901,8 @@
switch (info->format_type)
{
case printf_format_type:
diff --git a/lang/gcc35/pkg-plist b/lang/gcc35/pkg-plist
index 8b45855df51..c498178645e 100644
--- a/lang/gcc35/pkg-plist
+++ b/lang/gcc35/pkg-plist
@@ -77,7 +77,6 @@ lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/map.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/memory
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/multimap.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/multiset.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/new.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/numeric
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/ostream.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/pair.h
@@ -237,7 +236,6 @@ lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/collect2
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/f771
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/README
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/assert.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/curses.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/exception
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/float.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g2c.h
@@ -250,33 +248,17 @@ lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/proto.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stdarg.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stdbool.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stddef.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stdlib.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stdio.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/syslimits.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/typeinfo
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/values.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/varargs.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/zconf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/net/netisr.h
+lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/machine/ansi.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/net/zlib.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netatm/atm_if.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netatm/atm_ioctl.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netatm/atm_var.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netatm/kern_include.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netatm/port.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netinet/ip_compat.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netinet/ip_fil.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netinet/ip_nat.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netipx/ipx.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netkey/keysock.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netns/ns.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netns/spp_var.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/rpc/auth.h
+lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/rpc/des.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/rpc/svc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/rpc/types.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/security/_pam_compat.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/sys/dvdio.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/sys/types.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/NXConstStr.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/Object.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/Protocol.h
diff --git a/lang/gcc40/Makefile b/lang/gcc40/Makefile
index 7e19127dbee..8adab151e45 100644
--- a/lang/gcc40/Makefile
+++ b/lang/gcc40/Makefile
@@ -7,7 +7,7 @@
# $FreeBSD$
#
-SNAPDATE= 2000-01-10
+SNAPDATE= 2000-02-07
SNAPVER= ${SNAPDATE:S/-//g}
DISTNAME= gcc-2.96
diff --git a/lang/gcc40/distinfo b/lang/gcc40/distinfo
index 020c4a14328..f986ab4a25f 100644
--- a/lang/gcc40/distinfo
+++ b/lang/gcc40/distinfo
@@ -1,5 +1,5 @@
-MD5 (egcs-core-20000110.tar.gz) = e47ca05ab5ce7e18ce4a506555d60f81
-MD5 (egcs-g++-20000110.tar.gz) = c19564a16c0c17845d50dc190c5741f9
-MD5 (egcs-g77-20000110.tar.gz) = 35c1df043f600a70b0c2dbb493312af3
-MD5 (egcs-java-20000110.tar.gz) = 126b2a84f69cf771ad68c087e05f0b04
-MD5 (egcs-objc-20000110.tar.gz) = 70bb4f393cb07c706008d310cd5fb506
+MD5 (egcs-core-20000207.tar.gz) = aeb16c43745a1192db09629df8d7a63b
+MD5 (egcs-g++-20000207.tar.gz) = 9973693120531615e8a28c40cbb17e10
+MD5 (egcs-g77-20000207.tar.gz) = fa19219b4aab5ba4ef19a21ec66d553b
+MD5 (egcs-java-20000207.tar.gz) = 47cde2f432c910dbb5587f7d5eb94238
+MD5 (egcs-objc-20000207.tar.gz) = 257d673cfabadcd1f2e289d6f21a9715
diff --git a/lang/gcc40/files/patch-ad b/lang/gcc40/files/patch-ad
index b838666b14f..934da77780a 100644
--- a/lang/gcc40/files/patch-ad
+++ b/lang/gcc40/files/patch-ad
@@ -1,21 +1,20 @@
---- 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
-@@ -32,12 +36,10 @@
- #include "i386/perform.h"
+--- gcc/config/i386/freebsd-aout.h.orig Sun Jan 30 23:28:05 2000
++++ gcc/config/i386/freebsd-aout.h Fri Feb 4 05:19:16 2000
+@@ -31,12 +31,7 @@
/* This goes away when the math-emulator is fixed */
--#undef TARGET_DEFAULT
+ #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_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 @@
+@@ -84,14 +79,6 @@
necessary when compiling PIC code. */
#define JUMP_TABLES_IN_TEXT_SECTION 1
@@ -30,7 +29,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
-@@ -105,19 +99,18 @@
+@@ -102,19 +89,18 @@
/* Profiling routines, partially copied from i386/osfrose.h. */
@@ -53,7 +52,7 @@
fprintf (FILE, "\tcall mcount\n"); \
} \
}
-@@ -135,6 +128,7 @@
+@@ -132,6 +118,7 @@
#define TYPE_ASM_OP ".type"
#define SIZE_ASM_OP ".size"
@@ -61,7 +60,7 @@
/* The following macro defines the format used to output the second
operand of the .type assembler directive. Different svr4 assemblers
-@@ -144,6 +138,12 @@
+@@ -141,6 +128,12 @@
#define TYPE_OPERAND_FMT "@%s"
@@ -74,9 +73,12 @@
/* 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 @@
+@@ -242,6 +235,8 @@
#define STARTFILE_SPEC \
"%{shared:c++rt0.o%s} \
%{!shared:%{pg:gcrt0.o%s}%{!pg:%{static:scrt0.o%s}%{!static:crt0.o%s}}}"
+
+#define MD_STARTFILE_PREFIX "/usr/lib/aout/"
+
+ /* Define this so we can compile MS code for use with WINE. */
+ #define HANDLE_PRAGMA_PACK_PUSH_POP
diff --git a/lang/gcc40/files/patch-af b/lang/gcc40/files/patch-af
index c1fbd05ffed..33a8f0886e0 100644
--- a/lang/gcc40/files/patch-af
+++ b/lang/gcc40/files/patch-af
@@ -1,8 +1,8 @@
---- gcc/config/i386/freebsd.h.orig Mon Nov 22 22:17:32 1999
-+++ gcc/config/i386/freebsd.h Wed Dec 15 02:32:20 1999
-@@ -117,6 +117,10 @@
- : ((n) >= FIRST_STACK_REG && (n) <= LAST_STACK_REG) ? (n)+3 \
- : (-1))
+--- 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. */
@@ -11,13 +11,15 @@
/* Tell final.c that we don't need a label passed to mcount. */
#undef FUNCTION_PROFILER
-@@ -140,7 +144,15 @@
+@@ -73,11 +77,15 @@
+
+ #undef WCHAR_TYPE_SIZE
#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_PREDEFINES
+-#define CPP_PREDEFINES "-Dunix -D__ELF__ -D__FreeBSD__\
+- -Asystem(unix) -Asystem(bsd) -Asystem(FreeBSD)"
+
+#undef CC1_SPEC
+#define CC1_SPEC "\
+ %{gline:%{!g:%{!g0:%{!g1:%{!g2: -g1}}}}} \
@@ -25,10 +27,11 @@
+
+#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
-@@ -149,11 +161,11 @@
+ of the support for getting C++ file-scope static object constructed
+@@ -85,11 +93,11 @@
#undef STARTFILE_SPEC
#define STARTFILE_SPEC \
@@ -45,7 +48,7 @@
/* Provide a ENDFILE_SPEC appropriate for FreeBSD. Here we tack on
the magical crtend.o file (see crtstuff.c) which provides part of
-@@ -163,7 +175,7 @@
+@@ -99,7 +107,7 @@
#undef ENDFILE_SPEC
#define ENDFILE_SPEC \
diff --git a/lang/gcc40/files/patch-ar b/lang/gcc40/files/patch-ar
index f2200f115da..e6a4c8ad30b 100644
--- a/lang/gcc40/files/patch-ar
+++ b/lang/gcc40/files/patch-ar
@@ -1,12 +1,15 @@
--- gcc/config/freebsd.h.orig Mon Nov 22 22:17:32 1999
-+++ gcc/config/freebsd.h Sat Dec 18 14:42:03 1999
-@@ -48,13 +48,23 @@
++++ gcc/config/freebsd.h Fri Feb 4 05:29:31 2000
+@@ -48,13 +48,26 @@
#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) "
++#define FBSD_CPP_PREDEFINES " -Dunix -D__FreeBSD__ -Asystem(unix) -Asystem(bsd) -Asystem(FreeBSD) "
++
++#undef CPP_PREDEFINES
++#define CPP_PREDEFINES FBSD_CPP_PREDEFINES
+
/* Provide a CPP_SPEC appropriate for FreeBSD. We just deal with the GCC
option `-posix', and PIC issues. */
diff --git a/lang/gcc40/files/patch-fa b/lang/gcc40/files/patch-fa
index 7f5e0e611ae..984c773d8c1 100644
--- a/lang/gcc40/files/patch-fa
+++ b/lang/gcc40/files/patch-fa
@@ -1,15 +1,15 @@
---- 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 @@
+--- gcc/c-common.c.orig Mon Jan 24 12:10:00 2000
++++ gcc/c-common.c Tue Feb 1 02:43:39 2000
+@@ -152,7 +152,7 @@
+ int, int, int));
+ static void init_attributes PARAMS ((void));
+ static void record_function_format PARAMS ((tree, tree, enum format_type,
+- int, int));
++ int, int, int));
+ static void record_international_format PARAMS ((tree, tree, int));
+ static tree c_find_base_decl PARAMS ((tree));
+ static int default_valid_lang_attribute PARAMS ((tree, tree, tree, tree));
+@@ -812,6 +812,7 @@
= TREE_VALUE (TREE_CHAIN (TREE_CHAIN (args)));
int format_num;
int first_arg_num;
@@ -17,8 +17,8 @@
enum format_type format_type;
tree argument;
int arg_num;
-@@ -682,7 +683,7 @@
-
+@@ -825,7 +826,7 @@
+
if (TREE_CODE (format_type_id) != IDENTIFIER_NODE)
{
- error ("unrecognized format specifier");
@@ -26,9 +26,9 @@
continue;
}
else
-@@ -690,12 +691,26 @@
- char *p = IDENTIFIER_POINTER (format_type_id);
-
+@@ -833,12 +834,26 @@
+ const char *p = IDENTIFIER_POINTER (format_type_id);
+
if (!strcmp (p, "printf") || !strcmp (p, "__printf__"))
+ {
+ format_type = printf_format_type;
@@ -52,8 +52,8 @@
+ }
else
{
- error ("`%s' is an unrecognized format function type", p);
-@@ -766,7 +781,8 @@
+ warning ("`%s' is an unrecognized format function type", p);
+@@ -909,7 +924,8 @@
record_function_format (DECL_NAME (decl),
DECL_ASSEMBLER_NAME (decl),
@@ -63,7 +63,7 @@
break;
}
-@@ -1010,6 +1026,11 @@
+@@ -1213,6 +1229,11 @@
} format_char_info;
static format_char_info print_char_table[] = {
@@ -75,7 +75,7 @@
{ "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 @@
+@@ -1273,6 +1294,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.) */
@@ -83,7 +83,7 @@
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 @@
+@@ -1305,25 +1327,25 @@
init_function_format_info ()
{
record_function_format (get_identifier ("printf"), NULL_TREE,
@@ -119,7 +119,7 @@
record_international_format (get_identifier ("gettext"), NULL_TREE, 1);
record_international_format (get_identifier ("dgettext"), NULL_TREE, 2);
-@@ -1137,11 +1159,12 @@
+@@ -1340,11 +1362,12 @@
(e.g. for varargs such as vfprintf). */
static void
@@ -133,7 +133,7 @@
int format_num;
int first_arg_num;
{
-@@ -1165,6 +1188,7 @@
+@@ -1368,6 +1391,7 @@
}
info->format_type = format_type;
@@ -141,7 +141,7 @@
info->format_num = format_num;
info->first_arg_num = first_arg_num;
}
-@@ -1314,7 +1338,8 @@
+@@ -1521,7 +1545,8 @@
if (integer_zerop (format_tree))
{
@@ -151,7 +151,7 @@
return;
}
if (TREE_CODE (format_tree) != ADDR_EXPR)
-@@ -1485,12 +1510,13 @@
+@@ -1710,12 +1735,13 @@
It will work on most machines, because size_t and int
have the same mode. But might as well warn anyway,
since it will fail on other machines. */
@@ -166,7 +166,7 @@
}
}
else
-@@ -1535,6 +1561,53 @@
+@@ -1760,6 +1786,53 @@
}
}
}
@@ -220,7 +220,7 @@
aflag = 0;
-@@ -1604,7 +1677,8 @@
+@@ -1828,7 +1901,8 @@
switch (info->format_type)
{
case printf_format_type:
diff --git a/lang/gcc40/pkg-plist b/lang/gcc40/pkg-plist
index 8b45855df51..c498178645e 100644
--- a/lang/gcc40/pkg-plist
+++ b/lang/gcc40/pkg-plist
@@ -77,7 +77,6 @@ lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/map.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/memory
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/multimap.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/multiset.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/new.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/numeric
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/ostream.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/pair.h
@@ -237,7 +236,6 @@ lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/collect2
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/f771
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/README
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/assert.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/curses.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/exception
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/float.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g2c.h
@@ -250,33 +248,17 @@ lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/proto.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stdarg.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stdbool.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stddef.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stdlib.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stdio.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/syslimits.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/typeinfo
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/values.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/varargs.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/zconf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/net/netisr.h
+lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/machine/ansi.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/net/zlib.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netatm/atm_if.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netatm/atm_ioctl.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netatm/atm_var.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netatm/kern_include.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netatm/port.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netinet/ip_compat.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netinet/ip_fil.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netinet/ip_nat.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netipx/ipx.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netkey/keysock.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netns/ns.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netns/spp_var.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/rpc/auth.h
+lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/rpc/des.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/rpc/svc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/rpc/types.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/security/_pam_compat.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/sys/dvdio.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/sys/types.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/NXConstStr.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/Object.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/Protocol.h
diff --git a/lang/gcc41/Makefile b/lang/gcc41/Makefile
index 7e19127dbee..8adab151e45 100644
--- a/lang/gcc41/Makefile
+++ b/lang/gcc41/Makefile
@@ -7,7 +7,7 @@
# $FreeBSD$
#
-SNAPDATE= 2000-01-10
+SNAPDATE= 2000-02-07
SNAPVER= ${SNAPDATE:S/-//g}
DISTNAME= gcc-2.96
diff --git a/lang/gcc41/distinfo b/lang/gcc41/distinfo
index 020c4a14328..f986ab4a25f 100644
--- a/lang/gcc41/distinfo
+++ b/lang/gcc41/distinfo
@@ -1,5 +1,5 @@
-MD5 (egcs-core-20000110.tar.gz) = e47ca05ab5ce7e18ce4a506555d60f81
-MD5 (egcs-g++-20000110.tar.gz) = c19564a16c0c17845d50dc190c5741f9
-MD5 (egcs-g77-20000110.tar.gz) = 35c1df043f600a70b0c2dbb493312af3
-MD5 (egcs-java-20000110.tar.gz) = 126b2a84f69cf771ad68c087e05f0b04
-MD5 (egcs-objc-20000110.tar.gz) = 70bb4f393cb07c706008d310cd5fb506
+MD5 (egcs-core-20000207.tar.gz) = aeb16c43745a1192db09629df8d7a63b
+MD5 (egcs-g++-20000207.tar.gz) = 9973693120531615e8a28c40cbb17e10
+MD5 (egcs-g77-20000207.tar.gz) = fa19219b4aab5ba4ef19a21ec66d553b
+MD5 (egcs-java-20000207.tar.gz) = 47cde2f432c910dbb5587f7d5eb94238
+MD5 (egcs-objc-20000207.tar.gz) = 257d673cfabadcd1f2e289d6f21a9715
diff --git a/lang/gcc41/files/patch-ad b/lang/gcc41/files/patch-ad
index b838666b14f..934da77780a 100644
--- a/lang/gcc41/files/patch-ad
+++ b/lang/gcc41/files/patch-ad
@@ -1,21 +1,20 @@
---- 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
-@@ -32,12 +36,10 @@
- #include "i386/perform.h"
+--- gcc/config/i386/freebsd-aout.h.orig Sun Jan 30 23:28:05 2000
++++ gcc/config/i386/freebsd-aout.h Fri Feb 4 05:19:16 2000
+@@ -31,12 +31,7 @@
/* This goes away when the math-emulator is fixed */
--#undef TARGET_DEFAULT
+ #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_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 @@
+@@ -84,14 +79,6 @@
necessary when compiling PIC code. */
#define JUMP_TABLES_IN_TEXT_SECTION 1
@@ -30,7 +29,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
-@@ -105,19 +99,18 @@
+@@ -102,19 +89,18 @@
/* Profiling routines, partially copied from i386/osfrose.h. */
@@ -53,7 +52,7 @@
fprintf (FILE, "\tcall mcount\n"); \
} \
}
-@@ -135,6 +128,7 @@
+@@ -132,6 +118,7 @@
#define TYPE_ASM_OP ".type"
#define SIZE_ASM_OP ".size"
@@ -61,7 +60,7 @@
/* The following macro defines the format used to output the second
operand of the .type assembler directive. Different svr4 assemblers
-@@ -144,6 +138,12 @@
+@@ -141,6 +128,12 @@
#define TYPE_OPERAND_FMT "@%s"
@@ -74,9 +73,12 @@
/* 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 @@
+@@ -242,6 +235,8 @@
#define STARTFILE_SPEC \
"%{shared:c++rt0.o%s} \
%{!shared:%{pg:gcrt0.o%s}%{!pg:%{static:scrt0.o%s}%{!static:crt0.o%s}}}"
+
+#define MD_STARTFILE_PREFIX "/usr/lib/aout/"
+
+ /* Define this so we can compile MS code for use with WINE. */
+ #define HANDLE_PRAGMA_PACK_PUSH_POP
diff --git a/lang/gcc41/files/patch-af b/lang/gcc41/files/patch-af
index c1fbd05ffed..33a8f0886e0 100644
--- a/lang/gcc41/files/patch-af
+++ b/lang/gcc41/files/patch-af
@@ -1,8 +1,8 @@
---- gcc/config/i386/freebsd.h.orig Mon Nov 22 22:17:32 1999
-+++ gcc/config/i386/freebsd.h Wed Dec 15 02:32:20 1999
-@@ -117,6 +117,10 @@
- : ((n) >= FIRST_STACK_REG && (n) <= LAST_STACK_REG) ? (n)+3 \
- : (-1))
+--- 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. */
@@ -11,13 +11,15 @@
/* Tell final.c that we don't need a label passed to mcount. */
#undef FUNCTION_PROFILER
-@@ -140,7 +144,15 @@
+@@ -73,11 +77,15 @@
+
+ #undef WCHAR_TYPE_SIZE
#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_PREDEFINES
+-#define CPP_PREDEFINES "-Dunix -D__ELF__ -D__FreeBSD__\
+- -Asystem(unix) -Asystem(bsd) -Asystem(FreeBSD)"
+
+#undef CC1_SPEC
+#define CC1_SPEC "\
+ %{gline:%{!g:%{!g0:%{!g1:%{!g2: -g1}}}}} \
@@ -25,10 +27,11 @@
+
+#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
-@@ -149,11 +161,11 @@
+ of the support for getting C++ file-scope static object constructed
+@@ -85,11 +93,11 @@
#undef STARTFILE_SPEC
#define STARTFILE_SPEC \
@@ -45,7 +48,7 @@
/* Provide a ENDFILE_SPEC appropriate for FreeBSD. Here we tack on
the magical crtend.o file (see crtstuff.c) which provides part of
-@@ -163,7 +175,7 @@
+@@ -99,7 +107,7 @@
#undef ENDFILE_SPEC
#define ENDFILE_SPEC \
diff --git a/lang/gcc41/files/patch-ar b/lang/gcc41/files/patch-ar
index f2200f115da..e6a4c8ad30b 100644
--- a/lang/gcc41/files/patch-ar
+++ b/lang/gcc41/files/patch-ar
@@ -1,12 +1,15 @@
--- gcc/config/freebsd.h.orig Mon Nov 22 22:17:32 1999
-+++ gcc/config/freebsd.h Sat Dec 18 14:42:03 1999
-@@ -48,13 +48,23 @@
++++ gcc/config/freebsd.h Fri Feb 4 05:29:31 2000
+@@ -48,13 +48,26 @@
#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) "
++#define FBSD_CPP_PREDEFINES " -Dunix -D__FreeBSD__ -Asystem(unix) -Asystem(bsd) -Asystem(FreeBSD) "
++
++#undef CPP_PREDEFINES
++#define CPP_PREDEFINES FBSD_CPP_PREDEFINES
+
/* Provide a CPP_SPEC appropriate for FreeBSD. We just deal with the GCC
option `-posix', and PIC issues. */
diff --git a/lang/gcc41/files/patch-fa b/lang/gcc41/files/patch-fa
index 7f5e0e611ae..984c773d8c1 100644
--- a/lang/gcc41/files/patch-fa
+++ b/lang/gcc41/files/patch-fa
@@ -1,15 +1,15 @@
---- 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 @@
+--- gcc/c-common.c.orig Mon Jan 24 12:10:00 2000
++++ gcc/c-common.c Tue Feb 1 02:43:39 2000
+@@ -152,7 +152,7 @@
+ int, int, int));
+ static void init_attributes PARAMS ((void));
+ static void record_function_format PARAMS ((tree, tree, enum format_type,
+- int, int));
++ int, int, int));
+ static void record_international_format PARAMS ((tree, tree, int));
+ static tree c_find_base_decl PARAMS ((tree));
+ static int default_valid_lang_attribute PARAMS ((tree, tree, tree, tree));
+@@ -812,6 +812,7 @@
= TREE_VALUE (TREE_CHAIN (TREE_CHAIN (args)));
int format_num;
int first_arg_num;
@@ -17,8 +17,8 @@
enum format_type format_type;
tree argument;
int arg_num;
-@@ -682,7 +683,7 @@
-
+@@ -825,7 +826,7 @@
+
if (TREE_CODE (format_type_id) != IDENTIFIER_NODE)
{
- error ("unrecognized format specifier");
@@ -26,9 +26,9 @@
continue;
}
else
-@@ -690,12 +691,26 @@
- char *p = IDENTIFIER_POINTER (format_type_id);
-
+@@ -833,12 +834,26 @@
+ const char *p = IDENTIFIER_POINTER (format_type_id);
+
if (!strcmp (p, "printf") || !strcmp (p, "__printf__"))
+ {
+ format_type = printf_format_type;
@@ -52,8 +52,8 @@
+ }
else
{
- error ("`%s' is an unrecognized format function type", p);
-@@ -766,7 +781,8 @@
+ warning ("`%s' is an unrecognized format function type", p);
+@@ -909,7 +924,8 @@
record_function_format (DECL_NAME (decl),
DECL_ASSEMBLER_NAME (decl),
@@ -63,7 +63,7 @@
break;
}
-@@ -1010,6 +1026,11 @@
+@@ -1213,6 +1229,11 @@
} format_char_info;
static format_char_info print_char_table[] = {
@@ -75,7 +75,7 @@
{ "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 @@
+@@ -1273,6 +1294,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.) */
@@ -83,7 +83,7 @@
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 @@
+@@ -1305,25 +1327,25 @@
init_function_format_info ()
{
record_function_format (get_identifier ("printf"), NULL_TREE,
@@ -119,7 +119,7 @@
record_international_format (get_identifier ("gettext"), NULL_TREE, 1);
record_international_format (get_identifier ("dgettext"), NULL_TREE, 2);
-@@ -1137,11 +1159,12 @@
+@@ -1340,11 +1362,12 @@
(e.g. for varargs such as vfprintf). */
static void
@@ -133,7 +133,7 @@
int format_num;
int first_arg_num;
{
-@@ -1165,6 +1188,7 @@
+@@ -1368,6 +1391,7 @@
}
info->format_type = format_type;
@@ -141,7 +141,7 @@
info->format_num = format_num;
info->first_arg_num = first_arg_num;
}
-@@ -1314,7 +1338,8 @@
+@@ -1521,7 +1545,8 @@
if (integer_zerop (format_tree))
{
@@ -151,7 +151,7 @@
return;
}
if (TREE_CODE (format_tree) != ADDR_EXPR)
-@@ -1485,12 +1510,13 @@
+@@ -1710,12 +1735,13 @@
It will work on most machines, because size_t and int
have the same mode. But might as well warn anyway,
since it will fail on other machines. */
@@ -166,7 +166,7 @@
}
}
else
-@@ -1535,6 +1561,53 @@
+@@ -1760,6 +1786,53 @@
}
}
}
@@ -220,7 +220,7 @@
aflag = 0;
-@@ -1604,7 +1677,8 @@
+@@ -1828,7 +1901,8 @@
switch (info->format_type)
{
case printf_format_type:
diff --git a/lang/gcc41/pkg-plist b/lang/gcc41/pkg-plist
index 8b45855df51..c498178645e 100644
--- a/lang/gcc41/pkg-plist
+++ b/lang/gcc41/pkg-plist
@@ -77,7 +77,6 @@ lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/map.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/memory
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/multimap.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/multiset.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/new.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/numeric
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/ostream.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/pair.h
@@ -237,7 +236,6 @@ lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/collect2
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/f771
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/README
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/assert.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/curses.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/exception
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/float.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g2c.h
@@ -250,33 +248,17 @@ lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/proto.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stdarg.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stdbool.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stddef.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stdlib.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stdio.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/syslimits.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/typeinfo
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/values.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/varargs.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/zconf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/net/netisr.h
+lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/machine/ansi.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/net/zlib.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netatm/atm_if.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netatm/atm_ioctl.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netatm/atm_var.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netatm/kern_include.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netatm/port.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netinet/ip_compat.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netinet/ip_fil.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netinet/ip_nat.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netipx/ipx.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netkey/keysock.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netns/ns.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netns/spp_var.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/rpc/auth.h
+lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/rpc/des.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/rpc/svc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/rpc/types.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/security/_pam_compat.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/sys/dvdio.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/sys/types.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/NXConstStr.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/Object.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/Protocol.h
diff --git a/lang/gcc42/Makefile b/lang/gcc42/Makefile
index 7e19127dbee..8adab151e45 100644
--- a/lang/gcc42/Makefile
+++ b/lang/gcc42/Makefile
@@ -7,7 +7,7 @@
# $FreeBSD$
#
-SNAPDATE= 2000-01-10
+SNAPDATE= 2000-02-07
SNAPVER= ${SNAPDATE:S/-//g}
DISTNAME= gcc-2.96
diff --git a/lang/gcc42/distinfo b/lang/gcc42/distinfo
index 020c4a14328..f986ab4a25f 100644
--- a/lang/gcc42/distinfo
+++ b/lang/gcc42/distinfo
@@ -1,5 +1,5 @@
-MD5 (egcs-core-20000110.tar.gz) = e47ca05ab5ce7e18ce4a506555d60f81
-MD5 (egcs-g++-20000110.tar.gz) = c19564a16c0c17845d50dc190c5741f9
-MD5 (egcs-g77-20000110.tar.gz) = 35c1df043f600a70b0c2dbb493312af3
-MD5 (egcs-java-20000110.tar.gz) = 126b2a84f69cf771ad68c087e05f0b04
-MD5 (egcs-objc-20000110.tar.gz) = 70bb4f393cb07c706008d310cd5fb506
+MD5 (egcs-core-20000207.tar.gz) = aeb16c43745a1192db09629df8d7a63b
+MD5 (egcs-g++-20000207.tar.gz) = 9973693120531615e8a28c40cbb17e10
+MD5 (egcs-g77-20000207.tar.gz) = fa19219b4aab5ba4ef19a21ec66d553b
+MD5 (egcs-java-20000207.tar.gz) = 47cde2f432c910dbb5587f7d5eb94238
+MD5 (egcs-objc-20000207.tar.gz) = 257d673cfabadcd1f2e289d6f21a9715
diff --git a/lang/gcc42/files/patch-ad b/lang/gcc42/files/patch-ad
index b838666b14f..934da77780a 100644
--- a/lang/gcc42/files/patch-ad
+++ b/lang/gcc42/files/patch-ad
@@ -1,21 +1,20 @@
---- 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
-@@ -32,12 +36,10 @@
- #include "i386/perform.h"
+--- gcc/config/i386/freebsd-aout.h.orig Sun Jan 30 23:28:05 2000
++++ gcc/config/i386/freebsd-aout.h Fri Feb 4 05:19:16 2000
+@@ -31,12 +31,7 @@
/* This goes away when the math-emulator is fixed */
--#undef TARGET_DEFAULT
+ #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_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 @@
+@@ -84,14 +79,6 @@
necessary when compiling PIC code. */
#define JUMP_TABLES_IN_TEXT_SECTION 1
@@ -30,7 +29,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
-@@ -105,19 +99,18 @@
+@@ -102,19 +89,18 @@
/* Profiling routines, partially copied from i386/osfrose.h. */
@@ -53,7 +52,7 @@
fprintf (FILE, "\tcall mcount\n"); \
} \
}
-@@ -135,6 +128,7 @@
+@@ -132,6 +118,7 @@
#define TYPE_ASM_OP ".type"
#define SIZE_ASM_OP ".size"
@@ -61,7 +60,7 @@
/* The following macro defines the format used to output the second
operand of the .type assembler directive. Different svr4 assemblers
-@@ -144,6 +138,12 @@
+@@ -141,6 +128,12 @@
#define TYPE_OPERAND_FMT "@%s"
@@ -74,9 +73,12 @@
/* 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 @@
+@@ -242,6 +235,8 @@
#define STARTFILE_SPEC \
"%{shared:c++rt0.o%s} \
%{!shared:%{pg:gcrt0.o%s}%{!pg:%{static:scrt0.o%s}%{!static:crt0.o%s}}}"
+
+#define MD_STARTFILE_PREFIX "/usr/lib/aout/"
+
+ /* Define this so we can compile MS code for use with WINE. */
+ #define HANDLE_PRAGMA_PACK_PUSH_POP
diff --git a/lang/gcc42/files/patch-af b/lang/gcc42/files/patch-af
index c1fbd05ffed..33a8f0886e0 100644
--- a/lang/gcc42/files/patch-af
+++ b/lang/gcc42/files/patch-af
@@ -1,8 +1,8 @@
---- gcc/config/i386/freebsd.h.orig Mon Nov 22 22:17:32 1999
-+++ gcc/config/i386/freebsd.h Wed Dec 15 02:32:20 1999
-@@ -117,6 +117,10 @@
- : ((n) >= FIRST_STACK_REG && (n) <= LAST_STACK_REG) ? (n)+3 \
- : (-1))
+--- 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. */
@@ -11,13 +11,15 @@
/* Tell final.c that we don't need a label passed to mcount. */
#undef FUNCTION_PROFILER
-@@ -140,7 +144,15 @@
+@@ -73,11 +77,15 @@
+
+ #undef WCHAR_TYPE_SIZE
#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_PREDEFINES
+-#define CPP_PREDEFINES "-Dunix -D__ELF__ -D__FreeBSD__\
+- -Asystem(unix) -Asystem(bsd) -Asystem(FreeBSD)"
+
+#undef CC1_SPEC
+#define CC1_SPEC "\
+ %{gline:%{!g:%{!g0:%{!g1:%{!g2: -g1}}}}} \
@@ -25,10 +27,11 @@
+
+#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
-@@ -149,11 +161,11 @@
+ of the support for getting C++ file-scope static object constructed
+@@ -85,11 +93,11 @@
#undef STARTFILE_SPEC
#define STARTFILE_SPEC \
@@ -45,7 +48,7 @@
/* Provide a ENDFILE_SPEC appropriate for FreeBSD. Here we tack on
the magical crtend.o file (see crtstuff.c) which provides part of
-@@ -163,7 +175,7 @@
+@@ -99,7 +107,7 @@
#undef ENDFILE_SPEC
#define ENDFILE_SPEC \
diff --git a/lang/gcc42/files/patch-ar b/lang/gcc42/files/patch-ar
index f2200f115da..e6a4c8ad30b 100644
--- a/lang/gcc42/files/patch-ar
+++ b/lang/gcc42/files/patch-ar
@@ -1,12 +1,15 @@
--- gcc/config/freebsd.h.orig Mon Nov 22 22:17:32 1999
-+++ gcc/config/freebsd.h Sat Dec 18 14:42:03 1999
-@@ -48,13 +48,23 @@
++++ gcc/config/freebsd.h Fri Feb 4 05:29:31 2000
+@@ -48,13 +48,26 @@
#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) "
++#define FBSD_CPP_PREDEFINES " -Dunix -D__FreeBSD__ -Asystem(unix) -Asystem(bsd) -Asystem(FreeBSD) "
++
++#undef CPP_PREDEFINES
++#define CPP_PREDEFINES FBSD_CPP_PREDEFINES
+
/* Provide a CPP_SPEC appropriate for FreeBSD. We just deal with the GCC
option `-posix', and PIC issues. */
diff --git a/lang/gcc42/files/patch-fa b/lang/gcc42/files/patch-fa
index 7f5e0e611ae..984c773d8c1 100644
--- a/lang/gcc42/files/patch-fa
+++ b/lang/gcc42/files/patch-fa
@@ -1,15 +1,15 @@
---- 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 @@
+--- gcc/c-common.c.orig Mon Jan 24 12:10:00 2000
++++ gcc/c-common.c Tue Feb 1 02:43:39 2000
+@@ -152,7 +152,7 @@
+ int, int, int));
+ static void init_attributes PARAMS ((void));
+ static void record_function_format PARAMS ((tree, tree, enum format_type,
+- int, int));
++ int, int, int));
+ static void record_international_format PARAMS ((tree, tree, int));
+ static tree c_find_base_decl PARAMS ((tree));
+ static int default_valid_lang_attribute PARAMS ((tree, tree, tree, tree));
+@@ -812,6 +812,7 @@
= TREE_VALUE (TREE_CHAIN (TREE_CHAIN (args)));
int format_num;
int first_arg_num;
@@ -17,8 +17,8 @@
enum format_type format_type;
tree argument;
int arg_num;
-@@ -682,7 +683,7 @@
-
+@@ -825,7 +826,7 @@
+
if (TREE_CODE (format_type_id) != IDENTIFIER_NODE)
{
- error ("unrecognized format specifier");
@@ -26,9 +26,9 @@
continue;
}
else
-@@ -690,12 +691,26 @@
- char *p = IDENTIFIER_POINTER (format_type_id);
-
+@@ -833,12 +834,26 @@
+ const char *p = IDENTIFIER_POINTER (format_type_id);
+
if (!strcmp (p, "printf") || !strcmp (p, "__printf__"))
+ {
+ format_type = printf_format_type;
@@ -52,8 +52,8 @@
+ }
else
{
- error ("`%s' is an unrecognized format function type", p);
-@@ -766,7 +781,8 @@
+ warning ("`%s' is an unrecognized format function type", p);
+@@ -909,7 +924,8 @@
record_function_format (DECL_NAME (decl),
DECL_ASSEMBLER_NAME (decl),
@@ -63,7 +63,7 @@
break;
}
-@@ -1010,6 +1026,11 @@
+@@ -1213,6 +1229,11 @@
} format_char_info;
static format_char_info print_char_table[] = {
@@ -75,7 +75,7 @@
{ "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 @@
+@@ -1273,6 +1294,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.) */
@@ -83,7 +83,7 @@
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 @@
+@@ -1305,25 +1327,25 @@
init_function_format_info ()
{
record_function_format (get_identifier ("printf"), NULL_TREE,
@@ -119,7 +119,7 @@
record_international_format (get_identifier ("gettext"), NULL_TREE, 1);
record_international_format (get_identifier ("dgettext"), NULL_TREE, 2);
-@@ -1137,11 +1159,12 @@
+@@ -1340,11 +1362,12 @@
(e.g. for varargs such as vfprintf). */
static void
@@ -133,7 +133,7 @@
int format_num;
int first_arg_num;
{
-@@ -1165,6 +1188,7 @@
+@@ -1368,6 +1391,7 @@
}
info->format_type = format_type;
@@ -141,7 +141,7 @@
info->format_num = format_num;
info->first_arg_num = first_arg_num;
}
-@@ -1314,7 +1338,8 @@
+@@ -1521,7 +1545,8 @@
if (integer_zerop (format_tree))
{
@@ -151,7 +151,7 @@
return;
}
if (TREE_CODE (format_tree) != ADDR_EXPR)
-@@ -1485,12 +1510,13 @@
+@@ -1710,12 +1735,13 @@
It will work on most machines, because size_t and int
have the same mode. But might as well warn anyway,
since it will fail on other machines. */
@@ -166,7 +166,7 @@
}
}
else
-@@ -1535,6 +1561,53 @@
+@@ -1760,6 +1786,53 @@
}
}
}
@@ -220,7 +220,7 @@
aflag = 0;
-@@ -1604,7 +1677,8 @@
+@@ -1828,7 +1901,8 @@
switch (info->format_type)
{
case printf_format_type:
diff --git a/lang/gcc42/pkg-plist b/lang/gcc42/pkg-plist
index 8b45855df51..c498178645e 100644
--- a/lang/gcc42/pkg-plist
+++ b/lang/gcc42/pkg-plist
@@ -77,7 +77,6 @@ lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/map.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/memory
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/multimap.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/multiset.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/new.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/numeric
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/ostream.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/pair.h
@@ -237,7 +236,6 @@ lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/collect2
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/f771
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/README
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/assert.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/curses.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/exception
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/float.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g2c.h
@@ -250,33 +248,17 @@ lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/proto.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stdarg.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stdbool.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stddef.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stdlib.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stdio.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/syslimits.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/typeinfo
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/values.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/varargs.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/zconf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/net/netisr.h
+lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/machine/ansi.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/net/zlib.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netatm/atm_if.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netatm/atm_ioctl.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netatm/atm_var.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netatm/kern_include.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netatm/port.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netinet/ip_compat.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netinet/ip_fil.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netinet/ip_nat.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netipx/ipx.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netkey/keysock.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netns/ns.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netns/spp_var.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/rpc/auth.h
+lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/rpc/des.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/rpc/svc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/rpc/types.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/security/_pam_compat.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/sys/dvdio.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/sys/types.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/NXConstStr.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/Object.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/Protocol.h
diff --git a/lang/gcc43/Makefile b/lang/gcc43/Makefile
index 7e19127dbee..8adab151e45 100644
--- a/lang/gcc43/Makefile
+++ b/lang/gcc43/Makefile
@@ -7,7 +7,7 @@
# $FreeBSD$
#
-SNAPDATE= 2000-01-10
+SNAPDATE= 2000-02-07
SNAPVER= ${SNAPDATE:S/-//g}
DISTNAME= gcc-2.96
diff --git a/lang/gcc43/distinfo b/lang/gcc43/distinfo
index 020c4a14328..f986ab4a25f 100644
--- a/lang/gcc43/distinfo
+++ b/lang/gcc43/distinfo
@@ -1,5 +1,5 @@
-MD5 (egcs-core-20000110.tar.gz) = e47ca05ab5ce7e18ce4a506555d60f81
-MD5 (egcs-g++-20000110.tar.gz) = c19564a16c0c17845d50dc190c5741f9
-MD5 (egcs-g77-20000110.tar.gz) = 35c1df043f600a70b0c2dbb493312af3
-MD5 (egcs-java-20000110.tar.gz) = 126b2a84f69cf771ad68c087e05f0b04
-MD5 (egcs-objc-20000110.tar.gz) = 70bb4f393cb07c706008d310cd5fb506
+MD5 (egcs-core-20000207.tar.gz) = aeb16c43745a1192db09629df8d7a63b
+MD5 (egcs-g++-20000207.tar.gz) = 9973693120531615e8a28c40cbb17e10
+MD5 (egcs-g77-20000207.tar.gz) = fa19219b4aab5ba4ef19a21ec66d553b
+MD5 (egcs-java-20000207.tar.gz) = 47cde2f432c910dbb5587f7d5eb94238
+MD5 (egcs-objc-20000207.tar.gz) = 257d673cfabadcd1f2e289d6f21a9715
diff --git a/lang/gcc43/files/patch-ad b/lang/gcc43/files/patch-ad
index b838666b14f..934da77780a 100644
--- a/lang/gcc43/files/patch-ad
+++ b/lang/gcc43/files/patch-ad
@@ -1,21 +1,20 @@
---- 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
-@@ -32,12 +36,10 @@
- #include "i386/perform.h"
+--- gcc/config/i386/freebsd-aout.h.orig Sun Jan 30 23:28:05 2000
++++ gcc/config/i386/freebsd-aout.h Fri Feb 4 05:19:16 2000
+@@ -31,12 +31,7 @@
/* This goes away when the math-emulator is fixed */
--#undef TARGET_DEFAULT
+ #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_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 @@
+@@ -84,14 +79,6 @@
necessary when compiling PIC code. */
#define JUMP_TABLES_IN_TEXT_SECTION 1
@@ -30,7 +29,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
-@@ -105,19 +99,18 @@
+@@ -102,19 +89,18 @@
/* Profiling routines, partially copied from i386/osfrose.h. */
@@ -53,7 +52,7 @@
fprintf (FILE, "\tcall mcount\n"); \
} \
}
-@@ -135,6 +128,7 @@
+@@ -132,6 +118,7 @@
#define TYPE_ASM_OP ".type"
#define SIZE_ASM_OP ".size"
@@ -61,7 +60,7 @@
/* The following macro defines the format used to output the second
operand of the .type assembler directive. Different svr4 assemblers
-@@ -144,6 +138,12 @@
+@@ -141,6 +128,12 @@
#define TYPE_OPERAND_FMT "@%s"
@@ -74,9 +73,12 @@
/* 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 @@
+@@ -242,6 +235,8 @@
#define STARTFILE_SPEC \
"%{shared:c++rt0.o%s} \
%{!shared:%{pg:gcrt0.o%s}%{!pg:%{static:scrt0.o%s}%{!static:crt0.o%s}}}"
+
+#define MD_STARTFILE_PREFIX "/usr/lib/aout/"
+
+ /* Define this so we can compile MS code for use with WINE. */
+ #define HANDLE_PRAGMA_PACK_PUSH_POP
diff --git a/lang/gcc43/files/patch-af b/lang/gcc43/files/patch-af
index c1fbd05ffed..33a8f0886e0 100644
--- a/lang/gcc43/files/patch-af
+++ b/lang/gcc43/files/patch-af
@@ -1,8 +1,8 @@
---- gcc/config/i386/freebsd.h.orig Mon Nov 22 22:17:32 1999
-+++ gcc/config/i386/freebsd.h Wed Dec 15 02:32:20 1999
-@@ -117,6 +117,10 @@
- : ((n) >= FIRST_STACK_REG && (n) <= LAST_STACK_REG) ? (n)+3 \
- : (-1))
+--- 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. */
@@ -11,13 +11,15 @@
/* Tell final.c that we don't need a label passed to mcount. */
#undef FUNCTION_PROFILER
-@@ -140,7 +144,15 @@
+@@ -73,11 +77,15 @@
+
+ #undef WCHAR_TYPE_SIZE
#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_PREDEFINES
+-#define CPP_PREDEFINES "-Dunix -D__ELF__ -D__FreeBSD__\
+- -Asystem(unix) -Asystem(bsd) -Asystem(FreeBSD)"
+
+#undef CC1_SPEC
+#define CC1_SPEC "\
+ %{gline:%{!g:%{!g0:%{!g1:%{!g2: -g1}}}}} \
@@ -25,10 +27,11 @@
+
+#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
-@@ -149,11 +161,11 @@
+ of the support for getting C++ file-scope static object constructed
+@@ -85,11 +93,11 @@
#undef STARTFILE_SPEC
#define STARTFILE_SPEC \
@@ -45,7 +48,7 @@
/* Provide a ENDFILE_SPEC appropriate for FreeBSD. Here we tack on
the magical crtend.o file (see crtstuff.c) which provides part of
-@@ -163,7 +175,7 @@
+@@ -99,7 +107,7 @@
#undef ENDFILE_SPEC
#define ENDFILE_SPEC \
diff --git a/lang/gcc43/files/patch-ar b/lang/gcc43/files/patch-ar
index f2200f115da..e6a4c8ad30b 100644
--- a/lang/gcc43/files/patch-ar
+++ b/lang/gcc43/files/patch-ar
@@ -1,12 +1,15 @@
--- gcc/config/freebsd.h.orig Mon Nov 22 22:17:32 1999
-+++ gcc/config/freebsd.h Sat Dec 18 14:42:03 1999
-@@ -48,13 +48,23 @@
++++ gcc/config/freebsd.h Fri Feb 4 05:29:31 2000
+@@ -48,13 +48,26 @@
#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) "
++#define FBSD_CPP_PREDEFINES " -Dunix -D__FreeBSD__ -Asystem(unix) -Asystem(bsd) -Asystem(FreeBSD) "
++
++#undef CPP_PREDEFINES
++#define CPP_PREDEFINES FBSD_CPP_PREDEFINES
+
/* Provide a CPP_SPEC appropriate for FreeBSD. We just deal with the GCC
option `-posix', and PIC issues. */
diff --git a/lang/gcc43/files/patch-fa b/lang/gcc43/files/patch-fa
index 7f5e0e611ae..984c773d8c1 100644
--- a/lang/gcc43/files/patch-fa
+++ b/lang/gcc43/files/patch-fa
@@ -1,15 +1,15 @@
---- 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 @@
+--- gcc/c-common.c.orig Mon Jan 24 12:10:00 2000
++++ gcc/c-common.c Tue Feb 1 02:43:39 2000
+@@ -152,7 +152,7 @@
+ int, int, int));
+ static void init_attributes PARAMS ((void));
+ static void record_function_format PARAMS ((tree, tree, enum format_type,
+- int, int));
++ int, int, int));
+ static void record_international_format PARAMS ((tree, tree, int));
+ static tree c_find_base_decl PARAMS ((tree));
+ static int default_valid_lang_attribute PARAMS ((tree, tree, tree, tree));
+@@ -812,6 +812,7 @@
= TREE_VALUE (TREE_CHAIN (TREE_CHAIN (args)));
int format_num;
int first_arg_num;
@@ -17,8 +17,8 @@
enum format_type format_type;
tree argument;
int arg_num;
-@@ -682,7 +683,7 @@
-
+@@ -825,7 +826,7 @@
+
if (TREE_CODE (format_type_id) != IDENTIFIER_NODE)
{
- error ("unrecognized format specifier");
@@ -26,9 +26,9 @@
continue;
}
else
-@@ -690,12 +691,26 @@
- char *p = IDENTIFIER_POINTER (format_type_id);
-
+@@ -833,12 +834,26 @@
+ const char *p = IDENTIFIER_POINTER (format_type_id);
+
if (!strcmp (p, "printf") || !strcmp (p, "__printf__"))
+ {
+ format_type = printf_format_type;
@@ -52,8 +52,8 @@
+ }
else
{
- error ("`%s' is an unrecognized format function type", p);
-@@ -766,7 +781,8 @@
+ warning ("`%s' is an unrecognized format function type", p);
+@@ -909,7 +924,8 @@
record_function_format (DECL_NAME (decl),
DECL_ASSEMBLER_NAME (decl),
@@ -63,7 +63,7 @@
break;
}
-@@ -1010,6 +1026,11 @@
+@@ -1213,6 +1229,11 @@
} format_char_info;
static format_char_info print_char_table[] = {
@@ -75,7 +75,7 @@
{ "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 @@
+@@ -1273,6 +1294,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.) */
@@ -83,7 +83,7 @@
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 @@
+@@ -1305,25 +1327,25 @@
init_function_format_info ()
{
record_function_format (get_identifier ("printf"), NULL_TREE,
@@ -119,7 +119,7 @@
record_international_format (get_identifier ("gettext"), NULL_TREE, 1);
record_international_format (get_identifier ("dgettext"), NULL_TREE, 2);
-@@ -1137,11 +1159,12 @@
+@@ -1340,11 +1362,12 @@
(e.g. for varargs such as vfprintf). */
static void
@@ -133,7 +133,7 @@
int format_num;
int first_arg_num;
{
-@@ -1165,6 +1188,7 @@
+@@ -1368,6 +1391,7 @@
}
info->format_type = format_type;
@@ -141,7 +141,7 @@
info->format_num = format_num;
info->first_arg_num = first_arg_num;
}
-@@ -1314,7 +1338,8 @@
+@@ -1521,7 +1545,8 @@
if (integer_zerop (format_tree))
{
@@ -151,7 +151,7 @@
return;
}
if (TREE_CODE (format_tree) != ADDR_EXPR)
-@@ -1485,12 +1510,13 @@
+@@ -1710,12 +1735,13 @@
It will work on most machines, because size_t and int
have the same mode. But might as well warn anyway,
since it will fail on other machines. */
@@ -166,7 +166,7 @@
}
}
else
-@@ -1535,6 +1561,53 @@
+@@ -1760,6 +1786,53 @@
}
}
}
@@ -220,7 +220,7 @@
aflag = 0;
-@@ -1604,7 +1677,8 @@
+@@ -1828,7 +1901,8 @@
switch (info->format_type)
{
case printf_format_type:
diff --git a/lang/gcc43/pkg-plist b/lang/gcc43/pkg-plist
index 8b45855df51..c498178645e 100644
--- a/lang/gcc43/pkg-plist
+++ b/lang/gcc43/pkg-plist
@@ -77,7 +77,6 @@ lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/map.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/memory
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/multimap.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/multiset.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/new.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/numeric
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/ostream.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/pair.h
@@ -237,7 +236,6 @@ lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/collect2
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/f771
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/README
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/assert.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/curses.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/exception
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/float.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g2c.h
@@ -250,33 +248,17 @@ lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/proto.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stdarg.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stdbool.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stddef.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stdlib.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stdio.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/syslimits.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/typeinfo
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/values.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/varargs.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/zconf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/net/netisr.h
+lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/machine/ansi.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/net/zlib.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netatm/atm_if.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netatm/atm_ioctl.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netatm/atm_var.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netatm/kern_include.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netatm/port.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netinet/ip_compat.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netinet/ip_fil.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netinet/ip_nat.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netipx/ipx.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netkey/keysock.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netns/ns.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netns/spp_var.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/rpc/auth.h
+lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/rpc/des.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/rpc/svc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/rpc/types.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/security/_pam_compat.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/sys/dvdio.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/sys/types.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/NXConstStr.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/Object.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/Protocol.h
diff --git a/lang/gcc44/Makefile b/lang/gcc44/Makefile
index 7e19127dbee..8adab151e45 100644
--- a/lang/gcc44/Makefile
+++ b/lang/gcc44/Makefile
@@ -7,7 +7,7 @@
# $FreeBSD$
#
-SNAPDATE= 2000-01-10
+SNAPDATE= 2000-02-07
SNAPVER= ${SNAPDATE:S/-//g}
DISTNAME= gcc-2.96
diff --git a/lang/gcc44/distinfo b/lang/gcc44/distinfo
index 020c4a14328..f986ab4a25f 100644
--- a/lang/gcc44/distinfo
+++ b/lang/gcc44/distinfo
@@ -1,5 +1,5 @@
-MD5 (egcs-core-20000110.tar.gz) = e47ca05ab5ce7e18ce4a506555d60f81
-MD5 (egcs-g++-20000110.tar.gz) = c19564a16c0c17845d50dc190c5741f9
-MD5 (egcs-g77-20000110.tar.gz) = 35c1df043f600a70b0c2dbb493312af3
-MD5 (egcs-java-20000110.tar.gz) = 126b2a84f69cf771ad68c087e05f0b04
-MD5 (egcs-objc-20000110.tar.gz) = 70bb4f393cb07c706008d310cd5fb506
+MD5 (egcs-core-20000207.tar.gz) = aeb16c43745a1192db09629df8d7a63b
+MD5 (egcs-g++-20000207.tar.gz) = 9973693120531615e8a28c40cbb17e10
+MD5 (egcs-g77-20000207.tar.gz) = fa19219b4aab5ba4ef19a21ec66d553b
+MD5 (egcs-java-20000207.tar.gz) = 47cde2f432c910dbb5587f7d5eb94238
+MD5 (egcs-objc-20000207.tar.gz) = 257d673cfabadcd1f2e289d6f21a9715
diff --git a/lang/gcc44/files/patch-ad b/lang/gcc44/files/patch-ad
index b838666b14f..934da77780a 100644
--- a/lang/gcc44/files/patch-ad
+++ b/lang/gcc44/files/patch-ad
@@ -1,21 +1,20 @@
---- 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
-@@ -32,12 +36,10 @@
- #include "i386/perform.h"
+--- gcc/config/i386/freebsd-aout.h.orig Sun Jan 30 23:28:05 2000
++++ gcc/config/i386/freebsd-aout.h Fri Feb 4 05:19:16 2000
+@@ -31,12 +31,7 @@
/* This goes away when the math-emulator is fixed */
--#undef TARGET_DEFAULT
+ #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_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 @@
+@@ -84,14 +79,6 @@
necessary when compiling PIC code. */
#define JUMP_TABLES_IN_TEXT_SECTION 1
@@ -30,7 +29,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
-@@ -105,19 +99,18 @@
+@@ -102,19 +89,18 @@
/* Profiling routines, partially copied from i386/osfrose.h. */
@@ -53,7 +52,7 @@
fprintf (FILE, "\tcall mcount\n"); \
} \
}
-@@ -135,6 +128,7 @@
+@@ -132,6 +118,7 @@
#define TYPE_ASM_OP ".type"
#define SIZE_ASM_OP ".size"
@@ -61,7 +60,7 @@
/* The following macro defines the format used to output the second
operand of the .type assembler directive. Different svr4 assemblers
-@@ -144,6 +138,12 @@
+@@ -141,6 +128,12 @@
#define TYPE_OPERAND_FMT "@%s"
@@ -74,9 +73,12 @@
/* 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 @@
+@@ -242,6 +235,8 @@
#define STARTFILE_SPEC \
"%{shared:c++rt0.o%s} \
%{!shared:%{pg:gcrt0.o%s}%{!pg:%{static:scrt0.o%s}%{!static:crt0.o%s}}}"
+
+#define MD_STARTFILE_PREFIX "/usr/lib/aout/"
+
+ /* Define this so we can compile MS code for use with WINE. */
+ #define HANDLE_PRAGMA_PACK_PUSH_POP
diff --git a/lang/gcc44/files/patch-af b/lang/gcc44/files/patch-af
index c1fbd05ffed..33a8f0886e0 100644
--- a/lang/gcc44/files/patch-af
+++ b/lang/gcc44/files/patch-af
@@ -1,8 +1,8 @@
---- gcc/config/i386/freebsd.h.orig Mon Nov 22 22:17:32 1999
-+++ gcc/config/i386/freebsd.h Wed Dec 15 02:32:20 1999
-@@ -117,6 +117,10 @@
- : ((n) >= FIRST_STACK_REG && (n) <= LAST_STACK_REG) ? (n)+3 \
- : (-1))
+--- 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. */
@@ -11,13 +11,15 @@
/* Tell final.c that we don't need a label passed to mcount. */
#undef FUNCTION_PROFILER
-@@ -140,7 +144,15 @@
+@@ -73,11 +77,15 @@
+
+ #undef WCHAR_TYPE_SIZE
#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_PREDEFINES
+-#define CPP_PREDEFINES "-Dunix -D__ELF__ -D__FreeBSD__\
+- -Asystem(unix) -Asystem(bsd) -Asystem(FreeBSD)"
+
+#undef CC1_SPEC
+#define CC1_SPEC "\
+ %{gline:%{!g:%{!g0:%{!g1:%{!g2: -g1}}}}} \
@@ -25,10 +27,11 @@
+
+#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
-@@ -149,11 +161,11 @@
+ of the support for getting C++ file-scope static object constructed
+@@ -85,11 +93,11 @@
#undef STARTFILE_SPEC
#define STARTFILE_SPEC \
@@ -45,7 +48,7 @@
/* Provide a ENDFILE_SPEC appropriate for FreeBSD. Here we tack on
the magical crtend.o file (see crtstuff.c) which provides part of
-@@ -163,7 +175,7 @@
+@@ -99,7 +107,7 @@
#undef ENDFILE_SPEC
#define ENDFILE_SPEC \
diff --git a/lang/gcc44/files/patch-ar b/lang/gcc44/files/patch-ar
index f2200f115da..e6a4c8ad30b 100644
--- a/lang/gcc44/files/patch-ar
+++ b/lang/gcc44/files/patch-ar
@@ -1,12 +1,15 @@
--- gcc/config/freebsd.h.orig Mon Nov 22 22:17:32 1999
-+++ gcc/config/freebsd.h Sat Dec 18 14:42:03 1999
-@@ -48,13 +48,23 @@
++++ gcc/config/freebsd.h Fri Feb 4 05:29:31 2000
+@@ -48,13 +48,26 @@
#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) "
++#define FBSD_CPP_PREDEFINES " -Dunix -D__FreeBSD__ -Asystem(unix) -Asystem(bsd) -Asystem(FreeBSD) "
++
++#undef CPP_PREDEFINES
++#define CPP_PREDEFINES FBSD_CPP_PREDEFINES
+
/* Provide a CPP_SPEC appropriate for FreeBSD. We just deal with the GCC
option `-posix', and PIC issues. */
diff --git a/lang/gcc44/files/patch-fa b/lang/gcc44/files/patch-fa
index 7f5e0e611ae..984c773d8c1 100644
--- a/lang/gcc44/files/patch-fa
+++ b/lang/gcc44/files/patch-fa
@@ -1,15 +1,15 @@
---- 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 @@
+--- gcc/c-common.c.orig Mon Jan 24 12:10:00 2000
++++ gcc/c-common.c Tue Feb 1 02:43:39 2000
+@@ -152,7 +152,7 @@
+ int, int, int));
+ static void init_attributes PARAMS ((void));
+ static void record_function_format PARAMS ((tree, tree, enum format_type,
+- int, int));
++ int, int, int));
+ static void record_international_format PARAMS ((tree, tree, int));
+ static tree c_find_base_decl PARAMS ((tree));
+ static int default_valid_lang_attribute PARAMS ((tree, tree, tree, tree));
+@@ -812,6 +812,7 @@
= TREE_VALUE (TREE_CHAIN (TREE_CHAIN (args)));
int format_num;
int first_arg_num;
@@ -17,8 +17,8 @@
enum format_type format_type;
tree argument;
int arg_num;
-@@ -682,7 +683,7 @@
-
+@@ -825,7 +826,7 @@
+
if (TREE_CODE (format_type_id) != IDENTIFIER_NODE)
{
- error ("unrecognized format specifier");
@@ -26,9 +26,9 @@
continue;
}
else
-@@ -690,12 +691,26 @@
- char *p = IDENTIFIER_POINTER (format_type_id);
-
+@@ -833,12 +834,26 @@
+ const char *p = IDENTIFIER_POINTER (format_type_id);
+
if (!strcmp (p, "printf") || !strcmp (p, "__printf__"))
+ {
+ format_type = printf_format_type;
@@ -52,8 +52,8 @@
+ }
else
{
- error ("`%s' is an unrecognized format function type", p);
-@@ -766,7 +781,8 @@
+ warning ("`%s' is an unrecognized format function type", p);
+@@ -909,7 +924,8 @@
record_function_format (DECL_NAME (decl),
DECL_ASSEMBLER_NAME (decl),
@@ -63,7 +63,7 @@
break;
}
-@@ -1010,6 +1026,11 @@
+@@ -1213,6 +1229,11 @@
} format_char_info;
static format_char_info print_char_table[] = {
@@ -75,7 +75,7 @@
{ "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 @@
+@@ -1273,6 +1294,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.) */
@@ -83,7 +83,7 @@
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 @@
+@@ -1305,25 +1327,25 @@
init_function_format_info ()
{
record_function_format (get_identifier ("printf"), NULL_TREE,
@@ -119,7 +119,7 @@
record_international_format (get_identifier ("gettext"), NULL_TREE, 1);
record_international_format (get_identifier ("dgettext"), NULL_TREE, 2);
-@@ -1137,11 +1159,12 @@
+@@ -1340,11 +1362,12 @@
(e.g. for varargs such as vfprintf). */
static void
@@ -133,7 +133,7 @@
int format_num;
int first_arg_num;
{
-@@ -1165,6 +1188,7 @@
+@@ -1368,6 +1391,7 @@
}
info->format_type = format_type;
@@ -141,7 +141,7 @@
info->format_num = format_num;
info->first_arg_num = first_arg_num;
}
-@@ -1314,7 +1338,8 @@
+@@ -1521,7 +1545,8 @@
if (integer_zerop (format_tree))
{
@@ -151,7 +151,7 @@
return;
}
if (TREE_CODE (format_tree) != ADDR_EXPR)
-@@ -1485,12 +1510,13 @@
+@@ -1710,12 +1735,13 @@
It will work on most machines, because size_t and int
have the same mode. But might as well warn anyway,
since it will fail on other machines. */
@@ -166,7 +166,7 @@
}
}
else
-@@ -1535,6 +1561,53 @@
+@@ -1760,6 +1786,53 @@
}
}
}
@@ -220,7 +220,7 @@
aflag = 0;
-@@ -1604,7 +1677,8 @@
+@@ -1828,7 +1901,8 @@
switch (info->format_type)
{
case printf_format_type:
diff --git a/lang/gcc44/pkg-plist b/lang/gcc44/pkg-plist
index 8b45855df51..c498178645e 100644
--- a/lang/gcc44/pkg-plist
+++ b/lang/gcc44/pkg-plist
@@ -77,7 +77,6 @@ lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/map.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/memory
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/multimap.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/multiset.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/new.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/numeric
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/ostream.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/pair.h
@@ -237,7 +236,6 @@ lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/collect2
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/f771
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/README
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/assert.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/curses.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/exception
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/float.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g2c.h
@@ -250,33 +248,17 @@ lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/proto.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stdarg.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stdbool.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stddef.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stdlib.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stdio.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/syslimits.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/typeinfo
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/values.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/varargs.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/zconf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/net/netisr.h
+lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/machine/ansi.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/net/zlib.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netatm/atm_if.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netatm/atm_ioctl.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netatm/atm_var.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netatm/kern_include.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netatm/port.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netinet/ip_compat.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netinet/ip_fil.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netinet/ip_nat.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netipx/ipx.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netkey/keysock.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netns/ns.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netns/spp_var.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/rpc/auth.h
+lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/rpc/des.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/rpc/svc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/rpc/types.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/security/_pam_compat.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/sys/dvdio.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/sys/types.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/NXConstStr.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/Object.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/Protocol.h
diff --git a/lang/gcc45/Makefile b/lang/gcc45/Makefile
index 7e19127dbee..8adab151e45 100644
--- a/lang/gcc45/Makefile
+++ b/lang/gcc45/Makefile
@@ -7,7 +7,7 @@
# $FreeBSD$
#
-SNAPDATE= 2000-01-10
+SNAPDATE= 2000-02-07
SNAPVER= ${SNAPDATE:S/-//g}
DISTNAME= gcc-2.96
diff --git a/lang/gcc45/distinfo b/lang/gcc45/distinfo
index 020c4a14328..f986ab4a25f 100644
--- a/lang/gcc45/distinfo
+++ b/lang/gcc45/distinfo
@@ -1,5 +1,5 @@
-MD5 (egcs-core-20000110.tar.gz) = e47ca05ab5ce7e18ce4a506555d60f81
-MD5 (egcs-g++-20000110.tar.gz) = c19564a16c0c17845d50dc190c5741f9
-MD5 (egcs-g77-20000110.tar.gz) = 35c1df043f600a70b0c2dbb493312af3
-MD5 (egcs-java-20000110.tar.gz) = 126b2a84f69cf771ad68c087e05f0b04
-MD5 (egcs-objc-20000110.tar.gz) = 70bb4f393cb07c706008d310cd5fb506
+MD5 (egcs-core-20000207.tar.gz) = aeb16c43745a1192db09629df8d7a63b
+MD5 (egcs-g++-20000207.tar.gz) = 9973693120531615e8a28c40cbb17e10
+MD5 (egcs-g77-20000207.tar.gz) = fa19219b4aab5ba4ef19a21ec66d553b
+MD5 (egcs-java-20000207.tar.gz) = 47cde2f432c910dbb5587f7d5eb94238
+MD5 (egcs-objc-20000207.tar.gz) = 257d673cfabadcd1f2e289d6f21a9715
diff --git a/lang/gcc45/files/patch-ad b/lang/gcc45/files/patch-ad
index b838666b14f..934da77780a 100644
--- a/lang/gcc45/files/patch-ad
+++ b/lang/gcc45/files/patch-ad
@@ -1,21 +1,20 @@
---- 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
-@@ -32,12 +36,10 @@
- #include "i386/perform.h"
+--- gcc/config/i386/freebsd-aout.h.orig Sun Jan 30 23:28:05 2000
++++ gcc/config/i386/freebsd-aout.h Fri Feb 4 05:19:16 2000
+@@ -31,12 +31,7 @@
/* This goes away when the math-emulator is fixed */
--#undef TARGET_DEFAULT
+ #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_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 @@
+@@ -84,14 +79,6 @@
necessary when compiling PIC code. */
#define JUMP_TABLES_IN_TEXT_SECTION 1
@@ -30,7 +29,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
-@@ -105,19 +99,18 @@
+@@ -102,19 +89,18 @@
/* Profiling routines, partially copied from i386/osfrose.h. */
@@ -53,7 +52,7 @@
fprintf (FILE, "\tcall mcount\n"); \
} \
}
-@@ -135,6 +128,7 @@
+@@ -132,6 +118,7 @@
#define TYPE_ASM_OP ".type"
#define SIZE_ASM_OP ".size"
@@ -61,7 +60,7 @@
/* The following macro defines the format used to output the second
operand of the .type assembler directive. Different svr4 assemblers
-@@ -144,6 +138,12 @@
+@@ -141,6 +128,12 @@
#define TYPE_OPERAND_FMT "@%s"
@@ -74,9 +73,12 @@
/* 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 @@
+@@ -242,6 +235,8 @@
#define STARTFILE_SPEC \
"%{shared:c++rt0.o%s} \
%{!shared:%{pg:gcrt0.o%s}%{!pg:%{static:scrt0.o%s}%{!static:crt0.o%s}}}"
+
+#define MD_STARTFILE_PREFIX "/usr/lib/aout/"
+
+ /* Define this so we can compile MS code for use with WINE. */
+ #define HANDLE_PRAGMA_PACK_PUSH_POP
diff --git a/lang/gcc45/files/patch-af b/lang/gcc45/files/patch-af
index c1fbd05ffed..33a8f0886e0 100644
--- a/lang/gcc45/files/patch-af
+++ b/lang/gcc45/files/patch-af
@@ -1,8 +1,8 @@
---- gcc/config/i386/freebsd.h.orig Mon Nov 22 22:17:32 1999
-+++ gcc/config/i386/freebsd.h Wed Dec 15 02:32:20 1999
-@@ -117,6 +117,10 @@
- : ((n) >= FIRST_STACK_REG && (n) <= LAST_STACK_REG) ? (n)+3 \
- : (-1))
+--- 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. */
@@ -11,13 +11,15 @@
/* Tell final.c that we don't need a label passed to mcount. */
#undef FUNCTION_PROFILER
-@@ -140,7 +144,15 @@
+@@ -73,11 +77,15 @@
+
+ #undef WCHAR_TYPE_SIZE
#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_PREDEFINES
+-#define CPP_PREDEFINES "-Dunix -D__ELF__ -D__FreeBSD__\
+- -Asystem(unix) -Asystem(bsd) -Asystem(FreeBSD)"
+
+#undef CC1_SPEC
+#define CC1_SPEC "\
+ %{gline:%{!g:%{!g0:%{!g1:%{!g2: -g1}}}}} \
@@ -25,10 +27,11 @@
+
+#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
-@@ -149,11 +161,11 @@
+ of the support for getting C++ file-scope static object constructed
+@@ -85,11 +93,11 @@
#undef STARTFILE_SPEC
#define STARTFILE_SPEC \
@@ -45,7 +48,7 @@
/* Provide a ENDFILE_SPEC appropriate for FreeBSD. Here we tack on
the magical crtend.o file (see crtstuff.c) which provides part of
-@@ -163,7 +175,7 @@
+@@ -99,7 +107,7 @@
#undef ENDFILE_SPEC
#define ENDFILE_SPEC \
diff --git a/lang/gcc45/files/patch-ar b/lang/gcc45/files/patch-ar
index f2200f115da..e6a4c8ad30b 100644
--- a/lang/gcc45/files/patch-ar
+++ b/lang/gcc45/files/patch-ar
@@ -1,12 +1,15 @@
--- gcc/config/freebsd.h.orig Mon Nov 22 22:17:32 1999
-+++ gcc/config/freebsd.h Sat Dec 18 14:42:03 1999
-@@ -48,13 +48,23 @@
++++ gcc/config/freebsd.h Fri Feb 4 05:29:31 2000
+@@ -48,13 +48,26 @@
#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) "
++#define FBSD_CPP_PREDEFINES " -Dunix -D__FreeBSD__ -Asystem(unix) -Asystem(bsd) -Asystem(FreeBSD) "
++
++#undef CPP_PREDEFINES
++#define CPP_PREDEFINES FBSD_CPP_PREDEFINES
+
/* Provide a CPP_SPEC appropriate for FreeBSD. We just deal with the GCC
option `-posix', and PIC issues. */
diff --git a/lang/gcc45/files/patch-fa b/lang/gcc45/files/patch-fa
index 7f5e0e611ae..984c773d8c1 100644
--- a/lang/gcc45/files/patch-fa
+++ b/lang/gcc45/files/patch-fa
@@ -1,15 +1,15 @@
---- 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 @@
+--- gcc/c-common.c.orig Mon Jan 24 12:10:00 2000
++++ gcc/c-common.c Tue Feb 1 02:43:39 2000
+@@ -152,7 +152,7 @@
+ int, int, int));
+ static void init_attributes PARAMS ((void));
+ static void record_function_format PARAMS ((tree, tree, enum format_type,
+- int, int));
++ int, int, int));
+ static void record_international_format PARAMS ((tree, tree, int));
+ static tree c_find_base_decl PARAMS ((tree));
+ static int default_valid_lang_attribute PARAMS ((tree, tree, tree, tree));
+@@ -812,6 +812,7 @@
= TREE_VALUE (TREE_CHAIN (TREE_CHAIN (args)));
int format_num;
int first_arg_num;
@@ -17,8 +17,8 @@
enum format_type format_type;
tree argument;
int arg_num;
-@@ -682,7 +683,7 @@
-
+@@ -825,7 +826,7 @@
+
if (TREE_CODE (format_type_id) != IDENTIFIER_NODE)
{
- error ("unrecognized format specifier");
@@ -26,9 +26,9 @@
continue;
}
else
-@@ -690,12 +691,26 @@
- char *p = IDENTIFIER_POINTER (format_type_id);
-
+@@ -833,12 +834,26 @@
+ const char *p = IDENTIFIER_POINTER (format_type_id);
+
if (!strcmp (p, "printf") || !strcmp (p, "__printf__"))
+ {
+ format_type = printf_format_type;
@@ -52,8 +52,8 @@
+ }
else
{
- error ("`%s' is an unrecognized format function type", p);
-@@ -766,7 +781,8 @@
+ warning ("`%s' is an unrecognized format function type", p);
+@@ -909,7 +924,8 @@
record_function_format (DECL_NAME (decl),
DECL_ASSEMBLER_NAME (decl),
@@ -63,7 +63,7 @@
break;
}
-@@ -1010,6 +1026,11 @@
+@@ -1213,6 +1229,11 @@
} format_char_info;
static format_char_info print_char_table[] = {
@@ -75,7 +75,7 @@
{ "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 @@
+@@ -1273,6 +1294,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.) */
@@ -83,7 +83,7 @@
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 @@
+@@ -1305,25 +1327,25 @@
init_function_format_info ()
{
record_function_format (get_identifier ("printf"), NULL_TREE,
@@ -119,7 +119,7 @@
record_international_format (get_identifier ("gettext"), NULL_TREE, 1);
record_international_format (get_identifier ("dgettext"), NULL_TREE, 2);
-@@ -1137,11 +1159,12 @@
+@@ -1340,11 +1362,12 @@
(e.g. for varargs such as vfprintf). */
static void
@@ -133,7 +133,7 @@
int format_num;
int first_arg_num;
{
-@@ -1165,6 +1188,7 @@
+@@ -1368,6 +1391,7 @@
}
info->format_type = format_type;
@@ -141,7 +141,7 @@
info->format_num = format_num;
info->first_arg_num = first_arg_num;
}
-@@ -1314,7 +1338,8 @@
+@@ -1521,7 +1545,8 @@
if (integer_zerop (format_tree))
{
@@ -151,7 +151,7 @@
return;
}
if (TREE_CODE (format_tree) != ADDR_EXPR)
-@@ -1485,12 +1510,13 @@
+@@ -1710,12 +1735,13 @@
It will work on most machines, because size_t and int
have the same mode. But might as well warn anyway,
since it will fail on other machines. */
@@ -166,7 +166,7 @@
}
}
else
-@@ -1535,6 +1561,53 @@
+@@ -1760,6 +1786,53 @@
}
}
}
@@ -220,7 +220,7 @@
aflag = 0;
-@@ -1604,7 +1677,8 @@
+@@ -1828,7 +1901,8 @@
switch (info->format_type)
{
case printf_format_type:
diff --git a/lang/gcc45/pkg-plist b/lang/gcc45/pkg-plist
index 8b45855df51..c498178645e 100644
--- a/lang/gcc45/pkg-plist
+++ b/lang/gcc45/pkg-plist
@@ -77,7 +77,6 @@ lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/map.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/memory
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/multimap.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/multiset.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/new.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/numeric
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/ostream.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/pair.h
@@ -237,7 +236,6 @@ lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/collect2
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/f771
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/README
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/assert.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/curses.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/exception
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/float.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g2c.h
@@ -250,33 +248,17 @@ lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/proto.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stdarg.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stdbool.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stddef.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stdlib.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stdio.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/syslimits.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/typeinfo
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/values.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/varargs.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/zconf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/net/netisr.h
+lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/machine/ansi.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/net/zlib.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netatm/atm_if.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netatm/atm_ioctl.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netatm/atm_var.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netatm/kern_include.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netatm/port.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netinet/ip_compat.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netinet/ip_fil.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netinet/ip_nat.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netipx/ipx.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netkey/keysock.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netns/ns.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netns/spp_var.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/rpc/auth.h
+lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/rpc/des.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/rpc/svc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/rpc/types.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/security/_pam_compat.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/sys/dvdio.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/sys/types.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/NXConstStr.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/Object.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/Protocol.h
diff --git a/lang/gcc46/Makefile b/lang/gcc46/Makefile
index 7e19127dbee..8adab151e45 100644
--- a/lang/gcc46/Makefile
+++ b/lang/gcc46/Makefile
@@ -7,7 +7,7 @@
# $FreeBSD$
#
-SNAPDATE= 2000-01-10
+SNAPDATE= 2000-02-07
SNAPVER= ${SNAPDATE:S/-//g}
DISTNAME= gcc-2.96
diff --git a/lang/gcc46/distinfo b/lang/gcc46/distinfo
index 020c4a14328..f986ab4a25f 100644
--- a/lang/gcc46/distinfo
+++ b/lang/gcc46/distinfo
@@ -1,5 +1,5 @@
-MD5 (egcs-core-20000110.tar.gz) = e47ca05ab5ce7e18ce4a506555d60f81
-MD5 (egcs-g++-20000110.tar.gz) = c19564a16c0c17845d50dc190c5741f9
-MD5 (egcs-g77-20000110.tar.gz) = 35c1df043f600a70b0c2dbb493312af3
-MD5 (egcs-java-20000110.tar.gz) = 126b2a84f69cf771ad68c087e05f0b04
-MD5 (egcs-objc-20000110.tar.gz) = 70bb4f393cb07c706008d310cd5fb506
+MD5 (egcs-core-20000207.tar.gz) = aeb16c43745a1192db09629df8d7a63b
+MD5 (egcs-g++-20000207.tar.gz) = 9973693120531615e8a28c40cbb17e10
+MD5 (egcs-g77-20000207.tar.gz) = fa19219b4aab5ba4ef19a21ec66d553b
+MD5 (egcs-java-20000207.tar.gz) = 47cde2f432c910dbb5587f7d5eb94238
+MD5 (egcs-objc-20000207.tar.gz) = 257d673cfabadcd1f2e289d6f21a9715
diff --git a/lang/gcc46/files/patch-ad b/lang/gcc46/files/patch-ad
index b838666b14f..934da77780a 100644
--- a/lang/gcc46/files/patch-ad
+++ b/lang/gcc46/files/patch-ad
@@ -1,21 +1,20 @@
---- 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
-@@ -32,12 +36,10 @@
- #include "i386/perform.h"
+--- gcc/config/i386/freebsd-aout.h.orig Sun Jan 30 23:28:05 2000
++++ gcc/config/i386/freebsd-aout.h Fri Feb 4 05:19:16 2000
+@@ -31,12 +31,7 @@
/* This goes away when the math-emulator is fixed */
--#undef TARGET_DEFAULT
+ #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_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 @@
+@@ -84,14 +79,6 @@
necessary when compiling PIC code. */
#define JUMP_TABLES_IN_TEXT_SECTION 1
@@ -30,7 +29,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
-@@ -105,19 +99,18 @@
+@@ -102,19 +89,18 @@
/* Profiling routines, partially copied from i386/osfrose.h. */
@@ -53,7 +52,7 @@
fprintf (FILE, "\tcall mcount\n"); \
} \
}
-@@ -135,6 +128,7 @@
+@@ -132,6 +118,7 @@
#define TYPE_ASM_OP ".type"
#define SIZE_ASM_OP ".size"
@@ -61,7 +60,7 @@
/* The following macro defines the format used to output the second
operand of the .type assembler directive. Different svr4 assemblers
-@@ -144,6 +138,12 @@
+@@ -141,6 +128,12 @@
#define TYPE_OPERAND_FMT "@%s"
@@ -74,9 +73,12 @@
/* 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 @@
+@@ -242,6 +235,8 @@
#define STARTFILE_SPEC \
"%{shared:c++rt0.o%s} \
%{!shared:%{pg:gcrt0.o%s}%{!pg:%{static:scrt0.o%s}%{!static:crt0.o%s}}}"
+
+#define MD_STARTFILE_PREFIX "/usr/lib/aout/"
+
+ /* Define this so we can compile MS code for use with WINE. */
+ #define HANDLE_PRAGMA_PACK_PUSH_POP
diff --git a/lang/gcc46/files/patch-af b/lang/gcc46/files/patch-af
index c1fbd05ffed..33a8f0886e0 100644
--- a/lang/gcc46/files/patch-af
+++ b/lang/gcc46/files/patch-af
@@ -1,8 +1,8 @@
---- gcc/config/i386/freebsd.h.orig Mon Nov 22 22:17:32 1999
-+++ gcc/config/i386/freebsd.h Wed Dec 15 02:32:20 1999
-@@ -117,6 +117,10 @@
- : ((n) >= FIRST_STACK_REG && (n) <= LAST_STACK_REG) ? (n)+3 \
- : (-1))
+--- 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. */
@@ -11,13 +11,15 @@
/* Tell final.c that we don't need a label passed to mcount. */
#undef FUNCTION_PROFILER
-@@ -140,7 +144,15 @@
+@@ -73,11 +77,15 @@
+
+ #undef WCHAR_TYPE_SIZE
#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_PREDEFINES
+-#define CPP_PREDEFINES "-Dunix -D__ELF__ -D__FreeBSD__\
+- -Asystem(unix) -Asystem(bsd) -Asystem(FreeBSD)"
+
+#undef CC1_SPEC
+#define CC1_SPEC "\
+ %{gline:%{!g:%{!g0:%{!g1:%{!g2: -g1}}}}} \
@@ -25,10 +27,11 @@
+
+#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
-@@ -149,11 +161,11 @@
+ of the support for getting C++ file-scope static object constructed
+@@ -85,11 +93,11 @@
#undef STARTFILE_SPEC
#define STARTFILE_SPEC \
@@ -45,7 +48,7 @@
/* Provide a ENDFILE_SPEC appropriate for FreeBSD. Here we tack on
the magical crtend.o file (see crtstuff.c) which provides part of
-@@ -163,7 +175,7 @@
+@@ -99,7 +107,7 @@
#undef ENDFILE_SPEC
#define ENDFILE_SPEC \
diff --git a/lang/gcc46/files/patch-ar b/lang/gcc46/files/patch-ar
index f2200f115da..e6a4c8ad30b 100644
--- a/lang/gcc46/files/patch-ar
+++ b/lang/gcc46/files/patch-ar
@@ -1,12 +1,15 @@
--- gcc/config/freebsd.h.orig Mon Nov 22 22:17:32 1999
-+++ gcc/config/freebsd.h Sat Dec 18 14:42:03 1999
-@@ -48,13 +48,23 @@
++++ gcc/config/freebsd.h Fri Feb 4 05:29:31 2000
+@@ -48,13 +48,26 @@
#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) "
++#define FBSD_CPP_PREDEFINES " -Dunix -D__FreeBSD__ -Asystem(unix) -Asystem(bsd) -Asystem(FreeBSD) "
++
++#undef CPP_PREDEFINES
++#define CPP_PREDEFINES FBSD_CPP_PREDEFINES
+
/* Provide a CPP_SPEC appropriate for FreeBSD. We just deal with the GCC
option `-posix', and PIC issues. */
diff --git a/lang/gcc46/files/patch-fa b/lang/gcc46/files/patch-fa
index 7f5e0e611ae..984c773d8c1 100644
--- a/lang/gcc46/files/patch-fa
+++ b/lang/gcc46/files/patch-fa
@@ -1,15 +1,15 @@
---- 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 @@
+--- gcc/c-common.c.orig Mon Jan 24 12:10:00 2000
++++ gcc/c-common.c Tue Feb 1 02:43:39 2000
+@@ -152,7 +152,7 @@
+ int, int, int));
+ static void init_attributes PARAMS ((void));
+ static void record_function_format PARAMS ((tree, tree, enum format_type,
+- int, int));
++ int, int, int));
+ static void record_international_format PARAMS ((tree, tree, int));
+ static tree c_find_base_decl PARAMS ((tree));
+ static int default_valid_lang_attribute PARAMS ((tree, tree, tree, tree));
+@@ -812,6 +812,7 @@
= TREE_VALUE (TREE_CHAIN (TREE_CHAIN (args)));
int format_num;
int first_arg_num;
@@ -17,8 +17,8 @@
enum format_type format_type;
tree argument;
int arg_num;
-@@ -682,7 +683,7 @@
-
+@@ -825,7 +826,7 @@
+
if (TREE_CODE (format_type_id) != IDENTIFIER_NODE)
{
- error ("unrecognized format specifier");
@@ -26,9 +26,9 @@
continue;
}
else
-@@ -690,12 +691,26 @@
- char *p = IDENTIFIER_POINTER (format_type_id);
-
+@@ -833,12 +834,26 @@
+ const char *p = IDENTIFIER_POINTER (format_type_id);
+
if (!strcmp (p, "printf") || !strcmp (p, "__printf__"))
+ {
+ format_type = printf_format_type;
@@ -52,8 +52,8 @@
+ }
else
{
- error ("`%s' is an unrecognized format function type", p);
-@@ -766,7 +781,8 @@
+ warning ("`%s' is an unrecognized format function type", p);
+@@ -909,7 +924,8 @@
record_function_format (DECL_NAME (decl),
DECL_ASSEMBLER_NAME (decl),
@@ -63,7 +63,7 @@
break;
}
-@@ -1010,6 +1026,11 @@
+@@ -1213,6 +1229,11 @@
} format_char_info;
static format_char_info print_char_table[] = {
@@ -75,7 +75,7 @@
{ "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 @@
+@@ -1273,6 +1294,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.) */
@@ -83,7 +83,7 @@
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 @@
+@@ -1305,25 +1327,25 @@
init_function_format_info ()
{
record_function_format (get_identifier ("printf"), NULL_TREE,
@@ -119,7 +119,7 @@
record_international_format (get_identifier ("gettext"), NULL_TREE, 1);
record_international_format (get_identifier ("dgettext"), NULL_TREE, 2);
-@@ -1137,11 +1159,12 @@
+@@ -1340,11 +1362,12 @@
(e.g. for varargs such as vfprintf). */
static void
@@ -133,7 +133,7 @@
int format_num;
int first_arg_num;
{
-@@ -1165,6 +1188,7 @@
+@@ -1368,6 +1391,7 @@
}
info->format_type = format_type;
@@ -141,7 +141,7 @@
info->format_num = format_num;
info->first_arg_num = first_arg_num;
}
-@@ -1314,7 +1338,8 @@
+@@ -1521,7 +1545,8 @@
if (integer_zerop (format_tree))
{
@@ -151,7 +151,7 @@
return;
}
if (TREE_CODE (format_tree) != ADDR_EXPR)
-@@ -1485,12 +1510,13 @@
+@@ -1710,12 +1735,13 @@
It will work on most machines, because size_t and int
have the same mode. But might as well warn anyway,
since it will fail on other machines. */
@@ -166,7 +166,7 @@
}
}
else
-@@ -1535,6 +1561,53 @@
+@@ -1760,6 +1786,53 @@
}
}
}
@@ -220,7 +220,7 @@
aflag = 0;
-@@ -1604,7 +1677,8 @@
+@@ -1828,7 +1901,8 @@
switch (info->format_type)
{
case printf_format_type:
diff --git a/lang/gcc46/pkg-plist b/lang/gcc46/pkg-plist
index 8b45855df51..c498178645e 100644
--- a/lang/gcc46/pkg-plist
+++ b/lang/gcc46/pkg-plist
@@ -77,7 +77,6 @@ lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/map.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/memory
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/multimap.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/multiset.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/new.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/numeric
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/ostream.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/pair.h
@@ -237,7 +236,6 @@ lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/collect2
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/f771
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/README
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/assert.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/curses.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/exception
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/float.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g2c.h
@@ -250,33 +248,17 @@ lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/proto.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stdarg.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stdbool.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stddef.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stdlib.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stdio.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/syslimits.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/typeinfo
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/values.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/varargs.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/zconf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/net/netisr.h
+lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/machine/ansi.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/net/zlib.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netatm/atm_if.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netatm/atm_ioctl.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netatm/atm_var.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netatm/kern_include.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netatm/port.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netinet/ip_compat.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netinet/ip_fil.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netinet/ip_nat.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netipx/ipx.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netkey/keysock.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netns/ns.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netns/spp_var.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/rpc/auth.h
+lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/rpc/des.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/rpc/svc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/rpc/types.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/security/_pam_compat.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/sys/dvdio.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/sys/types.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/NXConstStr.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/Object.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/Protocol.h
diff --git a/lang/gcc47/Makefile b/lang/gcc47/Makefile
index 7e19127dbee..8adab151e45 100644
--- a/lang/gcc47/Makefile
+++ b/lang/gcc47/Makefile
@@ -7,7 +7,7 @@
# $FreeBSD$
#
-SNAPDATE= 2000-01-10
+SNAPDATE= 2000-02-07
SNAPVER= ${SNAPDATE:S/-//g}
DISTNAME= gcc-2.96
diff --git a/lang/gcc47/distinfo b/lang/gcc47/distinfo
index 020c4a14328..f986ab4a25f 100644
--- a/lang/gcc47/distinfo
+++ b/lang/gcc47/distinfo
@@ -1,5 +1,5 @@
-MD5 (egcs-core-20000110.tar.gz) = e47ca05ab5ce7e18ce4a506555d60f81
-MD5 (egcs-g++-20000110.tar.gz) = c19564a16c0c17845d50dc190c5741f9
-MD5 (egcs-g77-20000110.tar.gz) = 35c1df043f600a70b0c2dbb493312af3
-MD5 (egcs-java-20000110.tar.gz) = 126b2a84f69cf771ad68c087e05f0b04
-MD5 (egcs-objc-20000110.tar.gz) = 70bb4f393cb07c706008d310cd5fb506
+MD5 (egcs-core-20000207.tar.gz) = aeb16c43745a1192db09629df8d7a63b
+MD5 (egcs-g++-20000207.tar.gz) = 9973693120531615e8a28c40cbb17e10
+MD5 (egcs-g77-20000207.tar.gz) = fa19219b4aab5ba4ef19a21ec66d553b
+MD5 (egcs-java-20000207.tar.gz) = 47cde2f432c910dbb5587f7d5eb94238
+MD5 (egcs-objc-20000207.tar.gz) = 257d673cfabadcd1f2e289d6f21a9715
diff --git a/lang/gcc47/files/patch-ad b/lang/gcc47/files/patch-ad
index b838666b14f..934da77780a 100644
--- a/lang/gcc47/files/patch-ad
+++ b/lang/gcc47/files/patch-ad
@@ -1,21 +1,20 @@
---- 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
-@@ -32,12 +36,10 @@
- #include "i386/perform.h"
+--- gcc/config/i386/freebsd-aout.h.orig Sun Jan 30 23:28:05 2000
++++ gcc/config/i386/freebsd-aout.h Fri Feb 4 05:19:16 2000
+@@ -31,12 +31,7 @@
/* This goes away when the math-emulator is fixed */
--#undef TARGET_DEFAULT
+ #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_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 @@
+@@ -84,14 +79,6 @@
necessary when compiling PIC code. */
#define JUMP_TABLES_IN_TEXT_SECTION 1
@@ -30,7 +29,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
-@@ -105,19 +99,18 @@
+@@ -102,19 +89,18 @@
/* Profiling routines, partially copied from i386/osfrose.h. */
@@ -53,7 +52,7 @@
fprintf (FILE, "\tcall mcount\n"); \
} \
}
-@@ -135,6 +128,7 @@
+@@ -132,6 +118,7 @@
#define TYPE_ASM_OP ".type"
#define SIZE_ASM_OP ".size"
@@ -61,7 +60,7 @@
/* The following macro defines the format used to output the second
operand of the .type assembler directive. Different svr4 assemblers
-@@ -144,6 +138,12 @@
+@@ -141,6 +128,12 @@
#define TYPE_OPERAND_FMT "@%s"
@@ -74,9 +73,12 @@
/* 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 @@
+@@ -242,6 +235,8 @@
#define STARTFILE_SPEC \
"%{shared:c++rt0.o%s} \
%{!shared:%{pg:gcrt0.o%s}%{!pg:%{static:scrt0.o%s}%{!static:crt0.o%s}}}"
+
+#define MD_STARTFILE_PREFIX "/usr/lib/aout/"
+
+ /* Define this so we can compile MS code for use with WINE. */
+ #define HANDLE_PRAGMA_PACK_PUSH_POP
diff --git a/lang/gcc47/files/patch-af b/lang/gcc47/files/patch-af
index c1fbd05ffed..33a8f0886e0 100644
--- a/lang/gcc47/files/patch-af
+++ b/lang/gcc47/files/patch-af
@@ -1,8 +1,8 @@
---- gcc/config/i386/freebsd.h.orig Mon Nov 22 22:17:32 1999
-+++ gcc/config/i386/freebsd.h Wed Dec 15 02:32:20 1999
-@@ -117,6 +117,10 @@
- : ((n) >= FIRST_STACK_REG && (n) <= LAST_STACK_REG) ? (n)+3 \
- : (-1))
+--- 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. */
@@ -11,13 +11,15 @@
/* Tell final.c that we don't need a label passed to mcount. */
#undef FUNCTION_PROFILER
-@@ -140,7 +144,15 @@
+@@ -73,11 +77,15 @@
+
+ #undef WCHAR_TYPE_SIZE
#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_PREDEFINES
+-#define CPP_PREDEFINES "-Dunix -D__ELF__ -D__FreeBSD__\
+- -Asystem(unix) -Asystem(bsd) -Asystem(FreeBSD)"
+
+#undef CC1_SPEC
+#define CC1_SPEC "\
+ %{gline:%{!g:%{!g0:%{!g1:%{!g2: -g1}}}}} \
@@ -25,10 +27,11 @@
+
+#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
-@@ -149,11 +161,11 @@
+ of the support for getting C++ file-scope static object constructed
+@@ -85,11 +93,11 @@
#undef STARTFILE_SPEC
#define STARTFILE_SPEC \
@@ -45,7 +48,7 @@
/* Provide a ENDFILE_SPEC appropriate for FreeBSD. Here we tack on
the magical crtend.o file (see crtstuff.c) which provides part of
-@@ -163,7 +175,7 @@
+@@ -99,7 +107,7 @@
#undef ENDFILE_SPEC
#define ENDFILE_SPEC \
diff --git a/lang/gcc47/files/patch-ar b/lang/gcc47/files/patch-ar
index f2200f115da..e6a4c8ad30b 100644
--- a/lang/gcc47/files/patch-ar
+++ b/lang/gcc47/files/patch-ar
@@ -1,12 +1,15 @@
--- gcc/config/freebsd.h.orig Mon Nov 22 22:17:32 1999
-+++ gcc/config/freebsd.h Sat Dec 18 14:42:03 1999
-@@ -48,13 +48,23 @@
++++ gcc/config/freebsd.h Fri Feb 4 05:29:31 2000
+@@ -48,13 +48,26 @@
#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) "
++#define FBSD_CPP_PREDEFINES " -Dunix -D__FreeBSD__ -Asystem(unix) -Asystem(bsd) -Asystem(FreeBSD) "
++
++#undef CPP_PREDEFINES
++#define CPP_PREDEFINES FBSD_CPP_PREDEFINES
+
/* Provide a CPP_SPEC appropriate for FreeBSD. We just deal with the GCC
option `-posix', and PIC issues. */
diff --git a/lang/gcc47/files/patch-fa b/lang/gcc47/files/patch-fa
index 7f5e0e611ae..984c773d8c1 100644
--- a/lang/gcc47/files/patch-fa
+++ b/lang/gcc47/files/patch-fa
@@ -1,15 +1,15 @@
---- 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 @@
+--- gcc/c-common.c.orig Mon Jan 24 12:10:00 2000
++++ gcc/c-common.c Tue Feb 1 02:43:39 2000
+@@ -152,7 +152,7 @@
+ int, int, int));
+ static void init_attributes PARAMS ((void));
+ static void record_function_format PARAMS ((tree, tree, enum format_type,
+- int, int));
++ int, int, int));
+ static void record_international_format PARAMS ((tree, tree, int));
+ static tree c_find_base_decl PARAMS ((tree));
+ static int default_valid_lang_attribute PARAMS ((tree, tree, tree, tree));
+@@ -812,6 +812,7 @@
= TREE_VALUE (TREE_CHAIN (TREE_CHAIN (args)));
int format_num;
int first_arg_num;
@@ -17,8 +17,8 @@
enum format_type format_type;
tree argument;
int arg_num;
-@@ -682,7 +683,7 @@
-
+@@ -825,7 +826,7 @@
+
if (TREE_CODE (format_type_id) != IDENTIFIER_NODE)
{
- error ("unrecognized format specifier");
@@ -26,9 +26,9 @@
continue;
}
else
-@@ -690,12 +691,26 @@
- char *p = IDENTIFIER_POINTER (format_type_id);
-
+@@ -833,12 +834,26 @@
+ const char *p = IDENTIFIER_POINTER (format_type_id);
+
if (!strcmp (p, "printf") || !strcmp (p, "__printf__"))
+ {
+ format_type = printf_format_type;
@@ -52,8 +52,8 @@
+ }
else
{
- error ("`%s' is an unrecognized format function type", p);
-@@ -766,7 +781,8 @@
+ warning ("`%s' is an unrecognized format function type", p);
+@@ -909,7 +924,8 @@
record_function_format (DECL_NAME (decl),
DECL_ASSEMBLER_NAME (decl),
@@ -63,7 +63,7 @@
break;
}
-@@ -1010,6 +1026,11 @@
+@@ -1213,6 +1229,11 @@
} format_char_info;
static format_char_info print_char_table[] = {
@@ -75,7 +75,7 @@
{ "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 @@
+@@ -1273,6 +1294,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.) */
@@ -83,7 +83,7 @@
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 @@
+@@ -1305,25 +1327,25 @@
init_function_format_info ()
{
record_function_format (get_identifier ("printf"), NULL_TREE,
@@ -119,7 +119,7 @@
record_international_format (get_identifier ("gettext"), NULL_TREE, 1);
record_international_format (get_identifier ("dgettext"), NULL_TREE, 2);
-@@ -1137,11 +1159,12 @@
+@@ -1340,11 +1362,12 @@
(e.g. for varargs such as vfprintf). */
static void
@@ -133,7 +133,7 @@
int format_num;
int first_arg_num;
{
-@@ -1165,6 +1188,7 @@
+@@ -1368,6 +1391,7 @@
}
info->format_type = format_type;
@@ -141,7 +141,7 @@
info->format_num = format_num;
info->first_arg_num = first_arg_num;
}
-@@ -1314,7 +1338,8 @@
+@@ -1521,7 +1545,8 @@
if (integer_zerop (format_tree))
{
@@ -151,7 +151,7 @@
return;
}
if (TREE_CODE (format_tree) != ADDR_EXPR)
-@@ -1485,12 +1510,13 @@
+@@ -1710,12 +1735,13 @@
It will work on most machines, because size_t and int
have the same mode. But might as well warn anyway,
since it will fail on other machines. */
@@ -166,7 +166,7 @@
}
}
else
-@@ -1535,6 +1561,53 @@
+@@ -1760,6 +1786,53 @@
}
}
}
@@ -220,7 +220,7 @@
aflag = 0;
-@@ -1604,7 +1677,8 @@
+@@ -1828,7 +1901,8 @@
switch (info->format_type)
{
case printf_format_type:
diff --git a/lang/gcc47/pkg-plist b/lang/gcc47/pkg-plist
index 8b45855df51..c498178645e 100644
--- a/lang/gcc47/pkg-plist
+++ b/lang/gcc47/pkg-plist
@@ -77,7 +77,6 @@ lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/map.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/memory
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/multimap.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/multiset.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/new.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/numeric
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/ostream.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/pair.h
@@ -237,7 +236,6 @@ lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/collect2
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/f771
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/README
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/assert.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/curses.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/exception
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/float.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g2c.h
@@ -250,33 +248,17 @@ lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/proto.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stdarg.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stdbool.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stddef.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stdlib.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stdio.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/syslimits.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/typeinfo
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/values.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/varargs.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/zconf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/net/netisr.h
+lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/machine/ansi.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/net/zlib.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netatm/atm_if.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netatm/atm_ioctl.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netatm/atm_var.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netatm/kern_include.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netatm/port.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netinet/ip_compat.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netinet/ip_fil.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netinet/ip_nat.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netipx/ipx.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netkey/keysock.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netns/ns.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netns/spp_var.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/rpc/auth.h
+lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/rpc/des.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/rpc/svc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/rpc/types.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/security/_pam_compat.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/sys/dvdio.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/sys/types.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/NXConstStr.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/Object.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/Protocol.h
diff --git a/lang/gcc48/Makefile b/lang/gcc48/Makefile
index 7e19127dbee..8adab151e45 100644
--- a/lang/gcc48/Makefile
+++ b/lang/gcc48/Makefile
@@ -7,7 +7,7 @@
# $FreeBSD$
#
-SNAPDATE= 2000-01-10
+SNAPDATE= 2000-02-07
SNAPVER= ${SNAPDATE:S/-//g}
DISTNAME= gcc-2.96
diff --git a/lang/gcc48/distinfo b/lang/gcc48/distinfo
index 020c4a14328..f986ab4a25f 100644
--- a/lang/gcc48/distinfo
+++ b/lang/gcc48/distinfo
@@ -1,5 +1,5 @@
-MD5 (egcs-core-20000110.tar.gz) = e47ca05ab5ce7e18ce4a506555d60f81
-MD5 (egcs-g++-20000110.tar.gz) = c19564a16c0c17845d50dc190c5741f9
-MD5 (egcs-g77-20000110.tar.gz) = 35c1df043f600a70b0c2dbb493312af3
-MD5 (egcs-java-20000110.tar.gz) = 126b2a84f69cf771ad68c087e05f0b04
-MD5 (egcs-objc-20000110.tar.gz) = 70bb4f393cb07c706008d310cd5fb506
+MD5 (egcs-core-20000207.tar.gz) = aeb16c43745a1192db09629df8d7a63b
+MD5 (egcs-g++-20000207.tar.gz) = 9973693120531615e8a28c40cbb17e10
+MD5 (egcs-g77-20000207.tar.gz) = fa19219b4aab5ba4ef19a21ec66d553b
+MD5 (egcs-java-20000207.tar.gz) = 47cde2f432c910dbb5587f7d5eb94238
+MD5 (egcs-objc-20000207.tar.gz) = 257d673cfabadcd1f2e289d6f21a9715
diff --git a/lang/gcc48/files/patch-ad b/lang/gcc48/files/patch-ad
index b838666b14f..934da77780a 100644
--- a/lang/gcc48/files/patch-ad
+++ b/lang/gcc48/files/patch-ad
@@ -1,21 +1,20 @@
---- 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
-@@ -32,12 +36,10 @@
- #include "i386/perform.h"
+--- gcc/config/i386/freebsd-aout.h.orig Sun Jan 30 23:28:05 2000
++++ gcc/config/i386/freebsd-aout.h Fri Feb 4 05:19:16 2000
+@@ -31,12 +31,7 @@
/* This goes away when the math-emulator is fixed */
--#undef TARGET_DEFAULT
+ #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_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 @@
+@@ -84,14 +79,6 @@
necessary when compiling PIC code. */
#define JUMP_TABLES_IN_TEXT_SECTION 1
@@ -30,7 +29,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
-@@ -105,19 +99,18 @@
+@@ -102,19 +89,18 @@
/* Profiling routines, partially copied from i386/osfrose.h. */
@@ -53,7 +52,7 @@
fprintf (FILE, "\tcall mcount\n"); \
} \
}
-@@ -135,6 +128,7 @@
+@@ -132,6 +118,7 @@
#define TYPE_ASM_OP ".type"
#define SIZE_ASM_OP ".size"
@@ -61,7 +60,7 @@
/* The following macro defines the format used to output the second
operand of the .type assembler directive. Different svr4 assemblers
-@@ -144,6 +138,12 @@
+@@ -141,6 +128,12 @@
#define TYPE_OPERAND_FMT "@%s"
@@ -74,9 +73,12 @@
/* 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 @@
+@@ -242,6 +235,8 @@
#define STARTFILE_SPEC \
"%{shared:c++rt0.o%s} \
%{!shared:%{pg:gcrt0.o%s}%{!pg:%{static:scrt0.o%s}%{!static:crt0.o%s}}}"
+
+#define MD_STARTFILE_PREFIX "/usr/lib/aout/"
+
+ /* Define this so we can compile MS code for use with WINE. */
+ #define HANDLE_PRAGMA_PACK_PUSH_POP
diff --git a/lang/gcc48/files/patch-af b/lang/gcc48/files/patch-af
index c1fbd05ffed..33a8f0886e0 100644
--- a/lang/gcc48/files/patch-af
+++ b/lang/gcc48/files/patch-af
@@ -1,8 +1,8 @@
---- gcc/config/i386/freebsd.h.orig Mon Nov 22 22:17:32 1999
-+++ gcc/config/i386/freebsd.h Wed Dec 15 02:32:20 1999
-@@ -117,6 +117,10 @@
- : ((n) >= FIRST_STACK_REG && (n) <= LAST_STACK_REG) ? (n)+3 \
- : (-1))
+--- 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. */
@@ -11,13 +11,15 @@
/* Tell final.c that we don't need a label passed to mcount. */
#undef FUNCTION_PROFILER
-@@ -140,7 +144,15 @@
+@@ -73,11 +77,15 @@
+
+ #undef WCHAR_TYPE_SIZE
#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_PREDEFINES
+-#define CPP_PREDEFINES "-Dunix -D__ELF__ -D__FreeBSD__\
+- -Asystem(unix) -Asystem(bsd) -Asystem(FreeBSD)"
+
+#undef CC1_SPEC
+#define CC1_SPEC "\
+ %{gline:%{!g:%{!g0:%{!g1:%{!g2: -g1}}}}} \
@@ -25,10 +27,11 @@
+
+#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
-@@ -149,11 +161,11 @@
+ of the support for getting C++ file-scope static object constructed
+@@ -85,11 +93,11 @@
#undef STARTFILE_SPEC
#define STARTFILE_SPEC \
@@ -45,7 +48,7 @@
/* Provide a ENDFILE_SPEC appropriate for FreeBSD. Here we tack on
the magical crtend.o file (see crtstuff.c) which provides part of
-@@ -163,7 +175,7 @@
+@@ -99,7 +107,7 @@
#undef ENDFILE_SPEC
#define ENDFILE_SPEC \
diff --git a/lang/gcc48/files/patch-ar b/lang/gcc48/files/patch-ar
index f2200f115da..e6a4c8ad30b 100644
--- a/lang/gcc48/files/patch-ar
+++ b/lang/gcc48/files/patch-ar
@@ -1,12 +1,15 @@
--- gcc/config/freebsd.h.orig Mon Nov 22 22:17:32 1999
-+++ gcc/config/freebsd.h Sat Dec 18 14:42:03 1999
-@@ -48,13 +48,23 @@
++++ gcc/config/freebsd.h Fri Feb 4 05:29:31 2000
+@@ -48,13 +48,26 @@
#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) "
++#define FBSD_CPP_PREDEFINES " -Dunix -D__FreeBSD__ -Asystem(unix) -Asystem(bsd) -Asystem(FreeBSD) "
++
++#undef CPP_PREDEFINES
++#define CPP_PREDEFINES FBSD_CPP_PREDEFINES
+
/* Provide a CPP_SPEC appropriate for FreeBSD. We just deal with the GCC
option `-posix', and PIC issues. */
diff --git a/lang/gcc48/files/patch-fa b/lang/gcc48/files/patch-fa
index 7f5e0e611ae..984c773d8c1 100644
--- a/lang/gcc48/files/patch-fa
+++ b/lang/gcc48/files/patch-fa
@@ -1,15 +1,15 @@
---- 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 @@
+--- gcc/c-common.c.orig Mon Jan 24 12:10:00 2000
++++ gcc/c-common.c Tue Feb 1 02:43:39 2000
+@@ -152,7 +152,7 @@
+ int, int, int));
+ static void init_attributes PARAMS ((void));
+ static void record_function_format PARAMS ((tree, tree, enum format_type,
+- int, int));
++ int, int, int));
+ static void record_international_format PARAMS ((tree, tree, int));
+ static tree c_find_base_decl PARAMS ((tree));
+ static int default_valid_lang_attribute PARAMS ((tree, tree, tree, tree));
+@@ -812,6 +812,7 @@
= TREE_VALUE (TREE_CHAIN (TREE_CHAIN (args)));
int format_num;
int first_arg_num;
@@ -17,8 +17,8 @@
enum format_type format_type;
tree argument;
int arg_num;
-@@ -682,7 +683,7 @@
-
+@@ -825,7 +826,7 @@
+
if (TREE_CODE (format_type_id) != IDENTIFIER_NODE)
{
- error ("unrecognized format specifier");
@@ -26,9 +26,9 @@
continue;
}
else
-@@ -690,12 +691,26 @@
- char *p = IDENTIFIER_POINTER (format_type_id);
-
+@@ -833,12 +834,26 @@
+ const char *p = IDENTIFIER_POINTER (format_type_id);
+
if (!strcmp (p, "printf") || !strcmp (p, "__printf__"))
+ {
+ format_type = printf_format_type;
@@ -52,8 +52,8 @@
+ }
else
{
- error ("`%s' is an unrecognized format function type", p);
-@@ -766,7 +781,8 @@
+ warning ("`%s' is an unrecognized format function type", p);
+@@ -909,7 +924,8 @@
record_function_format (DECL_NAME (decl),
DECL_ASSEMBLER_NAME (decl),
@@ -63,7 +63,7 @@
break;
}
-@@ -1010,6 +1026,11 @@
+@@ -1213,6 +1229,11 @@
} format_char_info;
static format_char_info print_char_table[] = {
@@ -75,7 +75,7 @@
{ "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 @@
+@@ -1273,6 +1294,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.) */
@@ -83,7 +83,7 @@
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 @@
+@@ -1305,25 +1327,25 @@
init_function_format_info ()
{
record_function_format (get_identifier ("printf"), NULL_TREE,
@@ -119,7 +119,7 @@
record_international_format (get_identifier ("gettext"), NULL_TREE, 1);
record_international_format (get_identifier ("dgettext"), NULL_TREE, 2);
-@@ -1137,11 +1159,12 @@
+@@ -1340,11 +1362,12 @@
(e.g. for varargs such as vfprintf). */
static void
@@ -133,7 +133,7 @@
int format_num;
int first_arg_num;
{
-@@ -1165,6 +1188,7 @@
+@@ -1368,6 +1391,7 @@
}
info->format_type = format_type;
@@ -141,7 +141,7 @@
info->format_num = format_num;
info->first_arg_num = first_arg_num;
}
-@@ -1314,7 +1338,8 @@
+@@ -1521,7 +1545,8 @@
if (integer_zerop (format_tree))
{
@@ -151,7 +151,7 @@
return;
}
if (TREE_CODE (format_tree) != ADDR_EXPR)
-@@ -1485,12 +1510,13 @@
+@@ -1710,12 +1735,13 @@
It will work on most machines, because size_t and int
have the same mode. But might as well warn anyway,
since it will fail on other machines. */
@@ -166,7 +166,7 @@
}
}
else
-@@ -1535,6 +1561,53 @@
+@@ -1760,6 +1786,53 @@
}
}
}
@@ -220,7 +220,7 @@
aflag = 0;
-@@ -1604,7 +1677,8 @@
+@@ -1828,7 +1901,8 @@
switch (info->format_type)
{
case printf_format_type:
diff --git a/lang/gcc48/pkg-plist b/lang/gcc48/pkg-plist
index 8b45855df51..c498178645e 100644
--- a/lang/gcc48/pkg-plist
+++ b/lang/gcc48/pkg-plist
@@ -77,7 +77,6 @@ lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/map.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/memory
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/multimap.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/multiset.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/new.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/numeric
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/ostream.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/pair.h
@@ -237,7 +236,6 @@ lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/collect2
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/f771
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/README
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/assert.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/curses.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/exception
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/float.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g2c.h
@@ -250,33 +248,17 @@ lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/proto.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stdarg.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stdbool.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stddef.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stdlib.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stdio.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/syslimits.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/typeinfo
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/values.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/varargs.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/zconf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/net/netisr.h
+lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/machine/ansi.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/net/zlib.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netatm/atm_if.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netatm/atm_ioctl.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netatm/atm_var.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netatm/kern_include.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netatm/port.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netinet/ip_compat.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netinet/ip_fil.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netinet/ip_nat.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netipx/ipx.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netkey/keysock.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netns/ns.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netns/spp_var.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/rpc/auth.h
+lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/rpc/des.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/rpc/svc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/rpc/types.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/security/_pam_compat.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/sys/dvdio.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/sys/types.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/NXConstStr.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/Object.h
lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/Protocol.h