Well a little work around
Code:
ls -l /usr/lib/*stdc*
-rw-r--r-- 1 root root 420238 Apr 12 2002 libstdc++-3-libc6.2-2-2.10.0.a
-r-xr-xr-x 1 root root 426442 Apr 12 2002 libstdc++-3-libc6.2-2-2.10.0.so
lrwxrwxrwx 1 root root 33 Jun 24 14:05 libstdc++-libc6.1-1.so.2 -> /usr/lib/libstdc++-libc6.2-2.so.3
lrwxrwxrwx 1 root root 30 Jun 19 11:48 libstdc++-libc6.2-2.a.3 -> libstdc++-3-libc6.2-2-2.10.0.a
lrwxrwxrwx 1 root root 31 Jun 19 11:22 libstdc++-libc6.2-2.so.3 -> libstdc++-3-libc6.2-2-2.10.0.so
this is before upgrade, now back up the most important lib to which everything is symlinked in this particular case it is libstdc++-3-libc6.2-2-2.10.0.so and libstdc++-3-libc6.2-2-2.10.0.a, put their copies away, now upgrade with --force and when the work is done put the libs back and symlink them appropriately.
I just remembered that RH ships with gcc-3.x.x which is called awkward gcc3, it should be on your installation CD's, if you haven't installed them yet install it (don't upgrade but install) it will create /usr/bin/gcc3 executable what you need to do is just
cp /usr/bin/gcc /usr/bin/gcc296 && ln -sf /usr/bin/gcc3 /usr/bin/gcc