diff --git a/lang/gcc295/files/patch-af b/lang/gcc295/files/patch-af index a0dc0c64679c..18cc56afca13 100644 --- a/lang/gcc295/files/patch-af +++ b/lang/gcc295/files/patch-af @@ -1,5 +1,5 @@ ---- gcc/config/i386/freebsd.h.orig Mon Dec 18 06:05:58 2000 -+++ gcc/config/i386/freebsd.h Tue Apr 17 02:24:05 2001 +--- gcc/config/i386/freebsd.h.orig Mon Dec 18 15:05:58 2000 ++++ gcc/config/i386/freebsd.h Sun Dec 22 23:08:15 2002 @@ -35,9 +35,9 @@ libraries compiled with the native cc, so undef it. */ #undef NO_DOLLAR_IN_LABEL @@ -93,3 +93,32 @@ /* Provide a LIB_SPEC appropriate for FreeBSD. Just select the appropriate libc, depending on whether we're doing profiling or need threads support. +@@ -230,6 +242,20 @@ + done. */ + + #undef LINK_SPEC ++#include ++#if __FreeBSD_version >= 500042 ++#define LINK_SPEC "-m elf_i386_fbsd \ ++ %{Wl,*:%*} \ ++ %{v:-V} \ ++ %{assert*} %{R*} %{rpath*} %{defsym*} \ ++ %{shared:-Bshareable %{h*} %{soname*}} \ ++ %{!shared: \ ++ %{!static: \ ++ %{rdynamic:-export-dynamic} \ ++ %{!dynamic-linker:-dynamic-linker /usr/libexec/ld-elf.so.1}} \ ++ %{static:-Bstatic}} \ ++ %{symbolic:-Bsymbolic}" ++#else + #define LINK_SPEC "-m elf_i386 \ + %{Wl,*:%*} \ + %{v:-V} \ +@@ -241,6 +267,7 @@ + %{!dynamic-linker:-dynamic-linker /usr/libexec/ld-elf.so.1}} \ + %{static:-Bstatic}} \ + %{symbolic:-Bsymbolic}" ++#endif + + /* A C statement to output to the stdio stream FILE an assembler + command to advance the location counter to a multiple of 1< defines __gnuc_va_list */ ++/* and define __gnuc_va_list */ ++#define __NO_GNUC_VA_LIST ++#include ++#if __FreeBSD_version >= 500039 ++#include ++#else #include #endif ++#endif -@@ -109,7 +110,6 @@ + /* In 4.3bsd-net2, machine/ansi.h defines these symbols, which are + defined if the corresponding type is *not* defined. +@@ -109,7 +116,6 @@ #define _T_PTRDIFF #define __PTRDIFF_T #define _PTRDIFF_T_ @@ -16,19 +24,61 @@ #define ___int_ptrdiff_t_h #define _GCC_PTRDIFF_T #ifndef __PTRDIFF_TYPE__ -@@ -156,7 +156,6 @@ +@@ -145,6 +151,7 @@ + #ifndef _BSD_SIZE_T_ + #ifndef _SIZE_T_DEFINED_ + #ifndef _SIZE_T_DEFINED ++#ifndef _SIZE_T_DECLARED + #ifndef ___int_size_t_h + #ifndef _GCC_SIZE_T + #ifndef _SIZET_ +@@ -156,13 +163,12 @@ #define _T_SIZE #define __SIZE_T #define _SIZE_T_ -#define _BSD_SIZE_T_ #define _SIZE_T_DEFINED_ #define _SIZE_T_DEFINED ++#define _SIZE_T_DECLARED #define ___int_size_t_h -@@ -217,7 +216,6 @@ + #define _GCC_SIZE_T + #define _SIZET_ +-#define __size_t + #ifndef __SIZE_TYPE__ + #define __SIZE_TYPE__ long unsigned int + #endif +@@ -176,6 +182,7 @@ + #endif /* _SIZET_ */ + #endif /* _GCC_SIZE_T */ + #endif /* ___int_size_t_h */ ++#endif /* _SIZE_T_DECLARED */ + #endif /* _SIZE_T_DEFINED */ + #endif /* _SIZE_T_DEFINED_ */ + #endif /* _BSD_SIZE_T_ */ +@@ -207,6 +214,7 @@ + #ifndef _BSD_WCHAR_T_ + #ifndef _WCHAR_T_DEFINED_ + #ifndef _WCHAR_T_DEFINED ++#ifndef _WCHAR_T_DECLARED + #ifndef _WCHAR_T_H + #ifndef ___int_wchar_t_h + #ifndef __INT_WCHAR_T_H +@@ -217,9 +225,9 @@ #define _T_WCHAR #define __WCHAR_T #define _WCHAR_T_ -#define _BSD_WCHAR_T_ #define _WCHAR_T_DEFINED_ #define _WCHAR_T_DEFINED ++#define _WCHAR_T_DECLARED #define _WCHAR_T_H + #define ___int_wchar_t_h + #define __INT_WCHAR_T_H +@@ -253,6 +261,7 @@ + #endif + #ifndef __cplusplus + typedef __WCHAR_TYPE__ wchar_t; ++#endif + #endif + #endif + #endif diff --git a/lang/gcc295/files/patch-aq b/lang/gcc295/files/patch-aq index 32f0788b5379..1f57b1f328d6 100644 --- a/lang/gcc295/files/patch-aq +++ b/lang/gcc295/files/patch-aq @@ -1,5 +1,5 @@ ---- gcc/ginclude/stdarg.h.orig Fri May 7 18:52:35 1999 -+++ gcc/ginclude/stdarg.h Wed Jun 23 16:38:00 1999 +--- gcc/ginclude/stdarg.h.orig Sat May 8 03:52:35 1999 ++++ gcc/ginclude/stdarg.h Sun Dec 22 16:21:14 2002 @@ -67,7 +67,7 @@ #ifndef __GNUC_VA_LIST @@ -9,3 +9,30 @@ typedef char *__gnuc_va_list; #else typedef void *__gnuc_va_list; +@@ -181,6 +181,8 @@ + #if !defined (_VA_LIST_) || defined (__BSD_NET2__) || defined (____386BSD____) || defined (__bsdi__) || defined (__sequent__) || defined (__FreeBSD__) || defined(WINNT) + /* The macro _VA_LIST_DEFINED is used in Windows NT 3.5 */ + #ifndef _VA_LIST_DEFINED ++/* The macro _VA_LIST_DECLARED is used in FreeBSD 5.x */ ++#ifndef _VA_LIST_DECLARED + /* The macro _VA_LIST is used in SCO Unix 3.2. */ + #ifndef _VA_LIST + /* The macro _VA_LIST_T_H is used in the Bull dpx2 */ +@@ -188,6 +190,7 @@ + typedef __gnuc_va_list va_list; + #endif /* not _VA_LIST_T_H */ + #endif /* not _VA_LIST */ ++#endif /* not _VA_LIST_DECLARED */ + #endif /* not _VA_LIST_DEFINED */ + #if !(defined (__BSD_NET2__) || defined (____386BSD____) || defined (__bsdi__) || defined (__sequent__) || defined (__FreeBSD__)) + #define _VA_LIST_ +@@ -197,6 +200,9 @@ + #endif + #ifndef _VA_LIST_DEFINED + #define _VA_LIST_DEFINED ++#endif ++#ifndef _VA_LIST_DECLARED ++#define _VA_LIST_DECLARED + #endif + #ifndef _VA_LIST_T_H + #define _VA_LIST_T_H diff --git a/lang/gcc295/files/patch-ar b/lang/gcc295/files/patch-ar new file mode 100644 index 000000000000..7dbadfba7e60 --- /dev/null +++ b/lang/gcc295/files/patch-ar @@ -0,0 +1,15 @@ +--- gcc/cp/decl.c.orig Sat Jun 10 02:06:42 2000 ++++ gcc/cp/decl.c Sun Dec 22 19:37:47 2002 +@@ -7119,10 +7119,12 @@ + if (found_type > 1) + error ("multiple types in one declaration"); + ++#if 0 + /* Inside a class, we might be in a friend or access declaration. + Until we have a good way of detecting the latter, don't warn. */ + if (t == NULL_TREE && ! current_class_type) + pedwarn ("declaration does not declare anything"); ++#endif + + /* Check for an anonymous union. We're careful + accessing TYPE_IDENTIFIER because some built-in types, like diff --git a/lang/gcc295/files/patch-as b/lang/gcc295/files/patch-as new file mode 100644 index 000000000000..2b75b67e0b6b --- /dev/null +++ b/lang/gcc295/files/patch-as @@ -0,0 +1,10 @@ +--- libio/gen-params.orig Sun Dec 22 20:02:50 2002 ++++ libio/gen-params Sun Dec 22 20:04:15 2002 +@@ -411,7 +411,6 @@ + #define __PTRDIFF_TYPE__ ${ptrdiff_t-long int /* default */} + #endif + typedef __PTRDIFF_TYPE__ ${macro_prefix}ptrdiff_t; +-typedef ${sigset_t-int /* default */} ${macro_prefix}sigset_t; + #ifndef __SIZE_TYPE__ + #define __SIZE_TYPE__ ${size_t-unsigned long /* default */} + #endif diff --git a/lang/gcc295/pkg-plist b/lang/gcc295/pkg-plist index 8ce8b227346e..0c26ea95cc03 100644 --- a/lang/gcc295/pkg-plist +++ b/lang/gcc295/pkg-plist @@ -18,7 +18,6 @@ info/gcc.info @exec install-info %D/info/gcc.info %D/info/dir @dirrm %%GNU_HOST%%/include @dirrm %%GNU_HOST%% -@dirrm lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc @dirrm lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std @dirrm lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++ @dirrm lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include