Here is a quote off gcc.gnu.org site:
Current snapshots of GCC, and any version labeled 2.96, produce object files
that are not compatible with those produced by either GCC 2.95.2 or the
forthcoming GCC 3.0. Therefore, programs built with these snapshots will not
be compatible with any official GCC release. Actually, C and Fortran code
will probably be compatible, but code in other languages, most notably C++
due to incompatibilities in symbol encoding (``mangling''), the standard
library and the application binary interface (ABI), is likely to fail in some
way. Static linking against C++ libraries may make a binary more portable, at
the cost of increasing file size and memory use.
To avoid any confusion, we have bumped the version of our current development
branch to GCC 2.97.
Please note that both GCC 2.96 and 2.97 are development versions; we do not
recommend using them for production purposes. Binaries built using any
version of GCC 2.96 or 2.97 will not be portable to systems based on one of
our regular releases.
Note that GNU DOES NOT recommend using 2.96 for production purposes.
Jorg