The following problems were fixed:
* Lack of <machine/ansi.h> on -current
This is the error also noticed by the bento cluster
patch-ap is updated to include <machine/_types>, the successor to
<machine/ansi.h> if __FreeBSD_version is >= 500039. Also the new
nomenclature of _XXX_DECLARED is added to avoid having everything
declared twice (_SIZE_T_DECLARED and _WCHAR_T_DECLARED in patch-ap,
_VA_LIST_DECLARED in patch-aq).
* Fix LINK_SPEC to say elf_i386_fbsd instead of elf_i386
At this point ld complains about the elf_i386:
stage1/xgcc -Bstage1/ -B/usr/local/i386-portbld-freebsd5.0/bin/ -DIN_GCC -O2 -O -pipe -mcpu=pentiumpro -DHAVE_CONFIG_H -o gencheck \
gencheck.o ` case "obstack.o" in ?*) echo obstack.o ;; esac ` ` case "" in ?*) echo ;; esac ` ` case "" in ?*) echo ;; esac ` ` case "" in ?*) echo ;; esac ` ` case "" in ?*) echo ;; esac `
/usr/bin/ld: unrecognised emulation mode: elf_i386
Supported emulations: elf_i386_fbsd
collect2: ld returned 1 exit status
gmake: *** [gencheck] Error 1
The name was changed in revision 1.18 of
src/gnu/usr.bin/binutils/ld/Makefile.i386. patch-af is enhanced to
declare LINK_SPEC depending on __FreeBSD_version. Other
architectures will probably need similar fixes but due to my lack of
access to such machines with FreeBSD installations only i386 is
* Syntax error due to #define __size_t
gcc/ginclude/stddef.h defines __size_t to be nothing which leads to
/usr/home/stefan/ports/lang/gcc295.test/work/gcc-2.95.3/gcc/xgcc -B/usr/home/stefan/ports/lang/gcc295.test/work/gcc-2.95.3/gcc/ -B/usr/local/i386-portbld-freebsd5.0/bin/ -c -DHAVE_CONFIG_H -O -pipe -mcpu=pentiumpro -I. -I./../../include getruntime.c
In file included from /usr/include/sys/param.h:101,
/usr/include/sys/signal.h:277: parse error before `ss_size'
/usr/include/sys/signal.h:277: warning: no semicolon at end of struct or union
/usr/include/sys/signal.h:279: parse error before `}'
/usr/include/sys/signal.h:279: warning: data definition has no type or storage class
gmake: *** [getruntime.o] Error 1
because of __size_t ss_size; in <sys/signal.h>. The offending line
is deleted in patch-ap.
* _G_config.h needs __sigset_t
/usr/home/stefan/ports/lang/gcc295.test/work/gcc-2.95.3/gcc/xgcc -B/usr/home/stefan/ports/lang/gcc295.test/work/gcc-2.95.3/gcc/ -B/usr/local/i386-portbld-freebsd5.0/bin/ -c -O -pipe -mcpu=pentiumpro -I. -I. filedoalloc.c
In file included from libio.h:30,
_G_config.h:43: parse error before `_G_sigset_t'
_G_config.h:43: warning: data definition has no type or storage class
gmake: *** [filedoalloc.o] Error 1
_G_config.h contains the line
typedef __sigset_t _G_sigset_t;
without including a header that declares __sigset_t. Since
_G_sigset_t is never used anyway, gen-params is tweaked to omit that
* G++ 2.95.3 dislikes <sys/_types.h>
/usr/home/stefan/ports/lang/gcc295.test/work/gcc-2.95.3/gcc/xgcc -B/usr/home/stefan/ports/lang/gcc295.test/work/gcc-2.95.3/gcc/ -B/usr/local/i386-portbld-freebsd5.0/bin/ -c -O -pipe -mcpu=pentiumpro -fno-implicit-templates -I. -I. -nostdinc++ filebuf.cc
In file included from /usr/include/machine/endian.h:41,
/usr/include/sys/_types.h:75: declaration does not declare anything
gmake: *** [filebuf.o] Error 1
The offending line is
typedef __ct_rune_t __wchar_t;
In fact, I do not know the cause of this. I've "worked around" by
completely disabling the error in the compiler (patch-ar), since the
produced g++ would not be of much use. -fpermissive would work, but
the option treats /all/ errors as warnings.
* objc directory removed from pkg-plist
This directory is never created.
Try to install gcc295 on -current.
over to maintainer
I committed this patch, thanks.
Since obrien likes patch-ar to be solved different, I'll leave this PR in state "patched"
As nobody came up with a better patch till now, close this PR.