-current systems.
Fix the definition of the preprocessor symbol __FreeBSD__. It had
been defined as "2=3".
Implement support for weak symbols. This solves the "___error"
undefined problem on -current systems.
Default to -fsjlj-exceptions even for C programs. This is needed
because a few modules in libgcc are built with -fexceptions turned
on, and the default style of exception support causes croakage.
I tried a make buildworld on a recent -current system by adding the
following to /etc/make.conf:
CC=/usr/local/bin/gcc28 -B/usr/local/lib/gcc-lib/i386-unknown-freebsd3.0/2.8.1/
CXX=/usr/local/bin/g++28 -B/usr/local/lib/gcc-lib/i386-unknown-freebsd3.0/2.8.1/
It got pretty far along before dying. The death occurred when building
our old native libstdc++, almost certainly because of header file
incompatibilities.
Another obstacle for make world is that this port doesn't currently
build a PIC version of libgcc (libgcc_pic.a).