emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: MS-Windows build using Posix configury


From: Eli Zaretskii
Subject: Re: MS-Windows build using Posix configury
Date: Fri, 07 Jun 2013 11:51:49 +0300

> Date: Sat, 18 May 2013 23:15:29 +0400
> From: Dmitry Gutov <address@hidden>
> CC: address@hidden
> 
> On 18.05.2013 22:53, Eli Zaretskii wrote:
> >> Date: Sat, 18 May 2013 22:42:42 +0400
> >> From: Dmitry Gutov <address@hidden>
> >> CC: address@hidden
> >>
> >> It looks to me that libpng gets loaded by Gnus anyway, because a) the
> >> breakpoint on w32.c:7473 still gets hit, the same amount of times, and
> >> the car of 'loaded_from' on the first hit is still "libpng14-14.dll", b)
> >> 'M-x list-dynamic-libraries' crashes with (wrong-type-argument
> >> characterp "J:\\Apps\\System\\MinGW\\bin\\libpng14-14.dll") after Gnus
> >> has been launched, just like it does in graphical environment.
> >
> > I'd be interested to know which sequence of calls causes libpng to be
> > loaded by Gnus in a non-GUI session.  That sounds like a bug to me.
> 
> I don't mind participating in the troubleshooting, but can't you 
> reproduce this on your end? I mean both libpng loading in the terminal, 
> and crash when using libgcc-dw2-dependent libintl. It would be quicker.

Just for the record, see this thread on the GCC list:

  http://gcc.gnu.org/ml/gcc/2013-05/msg00180.html

Unfortunately, none of the GCC maintainers said anything interesting
in that thread, nor suggested to fix this.  However, I think I have a
pretty good understanding of what happens here, as I described here:

  http://gcc.gnu.org/ml/gcc/2013-05/msg00214.html

To summarize:

  . This happens due to a bug in the GCC startup and termination code,
    which check independently for whether libgcc was loaded as a
    shared library.  When libgcc is not loaded at startup, but is
    found to be loaded on ext, that code hits an assertion and aborts.

  . The only way around this, besides not using DLLs that depend on
    shared libgcc, is to link the program with the -shared-libgcc
    compiler option.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]