On 08/08/19 14:53 -0600, Jeff Law wrote:
On 8/5/19 12:02 PM, Tom Tromey wrote:
gdb should normally not be linked with -static-libstdc++. Currently
this has not caused problems, but it's incompatible with catching an
exception thrown from a shared library -- and a subsequent patch
changes gdb to do just this.
This patch adds a new --with-static-standard-libraries flag to the
top-level configure. It defaults to "auto", which means enabled if
gcc is being built, and disabled otherwise.
Tom
2019-07-27 Tom Tromey <t...@tromey.com>
* configure: Rebuild.
* configure.ac: Add --with-static-standard-libraries.
Deferring to Jon.
It might be worth reviewing:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56750
And this thread:
https://gcc.gnu.org/ml/gcc-patches/2018-02/msg00403.html
While I NAK'd Aldy's patch in the email thread, if Jon thinks we should
have this capability I won't object.
The new option (and its default value) seem reasonable to me. I don't
see why GDB should be forced to link to libstdc++.a just because GCC
wants to.
What I don't understand is why GDB crashes. It should still be able to
catch exceptions from a shared library even if linked to libstdc++.a,
unless the static libstdc++.a is somehow incompatible with the shared
libstdc++.so the shared lib linked to.
Is this on GNU/Linux, or something with a different linking model?