Er, no; we're talking about official Debian packages here, and the
libstdc++.so.6 in Debian is now from gcc-4.1. The problem is precisely that
GMP *is* being built using gcc-4.0, but libstdc++ is from gcc-4.1, resulting
in the double libgcc_s problem.
Then, you must build *eveything* for hppa with gcc-4.1 or later.
Unfortunately, there's an ABI break. Mixing libraries compiled with
4.0 or earlier with libraries compiled with 4.1 or later is just going
to cause unnecessary problems. 3.3 uses libstdc++.so.5, so you
avoid the double libgcc_s problem building GMP. However, you still
have the ABI change affecting the passing and return of complex types.
At a fundamental level, libstdc++.so.6, libgfortran.so.1.0.0 and any
other gcc libraries built with 4.1 or later need glibc built with 4.1
to function correctly because of the various complex functions in
the math library.
I think there's a dynamic loader bug here as well. I'm just
guessing but I think the double libgcc_s problem causes a problem
with the handling of .eh_frame data.