The library fails to build with gcc 2.95.2:
$ nice make BUILDDIR=/tmp/stdcxx-gcc-2.95.2-12d BUILDTYPE=12d
...
gcc -c -I/tmp/stdcxx-r355532/include/ansi -pthreads -D_RWSTD_USE_CONFIG -I/tmp/stdcxx-gcc-2.95.2-12d/include -I/tmp/stdcxx-r355532/include -pedantic -nostdinc++ -fhonor-std -ftemplate-depth-32 -O2 -W -Wall -Wcast-qual -Winline -Wshadow -Wwrite-strings -Wno-long-long -fPIC /tmp/stdcxx-r355532/src/wctype.cpp
gcc assert.o atomic-cxx.o bitset.o catalog.o codecvt.o collate.o ctype.o ctype_bits.o exception.o export.o facet.o file.o instance.o ios.o ios_bits.o iostore.o iostream.o iso2022.o limits.o limits_bits.o locale_bits.o locale_body.o locale_classic.o locale_combine.o locale_core.o locale_eq.o locale_global.o locale_name.o memattr.o memory.o messages.o num_get.o num_put.o punct.o random.o setlocale.o strstream.o strtol.o ti_collate.o ti_filebuf.o ti_insert_dbl.o ti_insert_int.o ti_insert_ptr.o ti_ios.o ti_istream.o ti_messages.o ti_money_get.o ti_money_put.o ti_moneypunct.o ti_num_get.o ti_num_put.o ti_numpunct.o ti_ostream.o ti_streambuf.o ti_string.o ti_stringbuf.o ti_time_get.o ti_time_put.o ti_wcollate.o ti_wfilebuf.o ti_winsert_dbl.o ti_winsert_int.o ti_winsert_ptr.o ti_wios.o ti_wistream.o ti_wmessages.o ti_wmoney_get.o ti_wmoney_put.o ti_wmoneypunct.o ti_wnum_get.o ti_wnum_put.o ti_wnumpunct.o ti_wostream.o ti_wstreambuf.o ti_wstring.o ti_wstringbuf.o ti_wtime_get.o ti_wtime_put.o time_get.o time_put.o tmpbuf.o typeinfo.o valarray.o vecbool.o version.o wcodecvt.o wctype.o -pthreads -shared -Wl,-M /tmp/stdcxx-r355532/src/mapfile.gcc-2 -o /tmp/stdcxx-gcc-2.95.2-12d/lib/libstd12d.so.4.1.3
ld: fatal: symbol `bad_exception::bad_exception(void)' is multiply-defined:
(file exception.o and file /usr/local/lib/gcc-lib/sparc-sun-solaris2.7/2.95.2/libgcc.a(exception.o));
ld: fatal: symbol `exception::~exception(void)' is multiply-defined:
(file exception.o and file /usr/local/lib/gcc-lib/sparc-sun-solaris2.7/2.95.2/libgcc.a(exception.o));
ld: fatal: symbol `exception::what(void) const' is multiply-defined:
(file exception.o and file /usr/local/lib/gcc-lib/sparc-sun-solaris2.7/2.95.2/libgcc.a(exception.o));
ld: fatal: symbol `exception::exception(void)' is multiply-defined:
(file exception.o and file /usr/local/lib/gcc-lib/sparc-sun-solaris2.7/2.95.2/libgcc.a(exception.o));
ld: fatal: symbol `bad_exception::~bad_exception(void)' is multiply-defined:
(file exception.o and file /usr/local/lib/gcc-lib/sparc-sun-solaris2.7/2.95.2/libgcc.a(exception.o));
ld: fatal: symbol `bad_alloc::what(void) const' is multiply-defined:
(file memory.o and file /usr/local/lib/gcc-lib/sparc-sun-solaris2.7/2.95.2/libgcc.a(new.o));
ld: fatal: symbol `bad_typeid::bad_typeid(void)' is multiply-defined:
(file typeinfo.o and file /usr/local/lib/gcc-lib/sparc-sun-solaris2.7/2.95.2/libgcc.a(tinfo.o));
ld: fatal: symbol `bad_cast::bad_cast(void)' is multiply-defined:
(file typeinfo.o and file /usr/local/lib/gcc-lib/sparc-sun-solaris2.7/2.95.2/libgcc.a(tinfo.o));
ld: fatal: symbol `bad_typeid::~bad_typeid(void)' is multiply-defined:
(file typeinfo.o and file /usr/local/lib/gcc-lib/sparc-sun-solaris2.7/2.95.2/libgcc.a(tinfo.o));
ld: fatal: symbol `bad_cast::~bad_cast(void)' is multiply-defined:
(file typeinfo.o and file /usr/local/lib/gcc-lib/sparc-sun-solaris2.7/2.95.2/libgcc.a(tinfo.o));
ld: fatal: File processing errors. No output written to /tmp/stdcxx-gcc-2.95.2-12d/lib/libstd12d.so.4.1.3
collect2: ld returned 1 exit status
make[2]: *** [/tmp/stdcxx-gcc-2.95.2-12d/lib/libstd12d.so] Error 1
make[2]: Leaving directory `/tmp/stdcxx-gcc-2.95.2-12d/lib'
make[1]: *** [lib] Error 2
make[1]: Leaving directory `/tmp/stdcxx-gcc-2.95.2-12d'
make: *** [libstd] Error 2