This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Crashes inside libgcc_s_dw2-1.dll
- From: Eli Zaretskii <eliz at gnu dot org>
- To: Ian Lance Taylor <iant at google dot com>
- Cc: gcc at gcc dot gnu dot org
- Date: Tue, 04 Jun 2013 20:13:31 +0300
- Subject: Re: Crashes inside libgcc_s_dw2-1.dll
- References: <83obc6x4fh dot fsf at gnu dot org> <CAKOQZ8zJNiJ+d+GM-kiaXKDEKnTEGJKX1T860pvGVBgHEEeYWQ at mail dot gmail dot com> <83d2smwc2m dot fsf at gnu dot org> <CAKOQZ8ytCku-JBiKXLnLzoaOEY+0z93AxY=oKd_w+i=K36tKFg at mail dot gmail dot com> <8338tgurf7 dot fsf at gnu dot org> <83d2s1x22i dot fsf at gnu dot org> <CAKOQZ8z0ZaqmVCDwF7a_qZnc4S192kxR_CRrKZNVNjOHComEfw at mail dot gmail dot com>
- Reply-to: Eli Zaretskii <eliz at gnu dot org>
> Date: Tue, 4 Jun 2013 09:45:10 -0700
> From: Ian Lance Taylor <iant@google.com>
> Cc: gcc@gcc.gnu.org
>
> I know very little about how these things work on Windows. However,
> it is fairly likely that full support for throwing exceptions across
> shared libraries on Windows does require using a shared libgcc.
Indeed, throwing exceptions across DLLs requires a shared libgcc. But
that wasn't the issue. The issue was why does the shared libgcc abort
at program exit, if it is loaded dynamically as a side effect of
loading another shared library (in this case, libintl) some time
during the run of the main program?
To recap: Emacs loads GnuTLS when the user starts a TLS session, and
that in turn loads libintl and the shared libgcc. Then, when Emacs
exits, there's an abort inside libgcc, where there's some assertion.
The details are in the message I posted on May 21.
My question was: is this expected? Does a program that loads the
shared libgcc in mid-flight need to be linked with -shared-libgcc
flag? Or is this some bug in libgcc?
Thanks.