From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Miguel Ruiz Newsgroups: gmane.emacs.devel Subject: Re: Emacs crashes when I try to quit Date: Thu, 4 Apr 2013 20:30:26 +0200 Message-ID: References: <83wqsifdnk.fsf@gnu.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/alternative; boundary=089e0141a7c819a3dc04d98d2aaa X-Trace: ger.gmane.org 1365100265 14508 80.91.229.3 (4 Apr 2013 18:31:05 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Thu, 4 Apr 2013 18:31:05 +0000 (UTC) Cc: emacs-devel@gnu.org To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Thu Apr 04 20:31:32 2013 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1UNowX-0000Sh-5F for ged-emacs-devel@m.gmane.org; Thu, 04 Apr 2013 20:31:25 +0200 Original-Received: from localhost ([::1]:42010 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UNow7-0001o8-Mp for ged-emacs-devel@m.gmane.org; Thu, 04 Apr 2013 14:30:59 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:33894) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UNovp-0001m1-NE for emacs-devel@gnu.org; Thu, 04 Apr 2013 14:30:50 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UNovi-0007aU-RS for emacs-devel@gnu.org; Thu, 04 Apr 2013 14:30:41 -0400 Original-Received: from mail-ob0-x231.google.com ([2607:f8b0:4003:c01::231]:45076) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UNovb-0007Yy-Hp; Thu, 04 Apr 2013 14:30:27 -0400 Original-Received: by mail-ob0-f177.google.com with SMTP id uz6so2827556obc.8 for ; Thu, 04 Apr 2013 11:30:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:x-received:in-reply-to:references:date:message-id :subject:from:to:cc:content-type; bh=4vDPuCwRznEpNt/pxW/ZGa1vDVC/QsjvM5LmnxAiHr8=; b=qlb3Jn81GzE4FQLUppZtbd8IukQuZt7VqLDQnnOq3jaw8DYgnzkJ7do6vlQEVCojF1 ePA3GZLGJupUIGOXhWVrMg33Wj2B28/qd8Ad9Nx7s/thunn6xN+A60I9cuD7J/uFdd0I U4Uu4n288wKw7S2ySBjWU5xz85Xs0yKZA1KwRNVIHw2Y5W023pvluc59lcB9oiRzrguI iWoJRxR+UrgFW6LEMct8KNivDRGpxiCVzNlGWMiFC7HG+CgyA3Y3E/k5RhphpKK9QCqA gyc8klPkpYLximsSwsyv6PI5pEI72lilOxqYXDcBSGH6M8YDyq8LK6sou8ahAPn5l5wA BToA== X-Received: by 10.182.102.201 with SMTP id fq9mr5387110obb.4.1365100226760; Thu, 04 Apr 2013 11:30:26 -0700 (PDT) Original-Received: by 10.182.88.134 with HTTP; Thu, 4 Apr 2013 11:30:26 -0700 (PDT) In-Reply-To: <83wqsifdnk.fsf@gnu.org> X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2607:f8b0:4003:c01::231 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:158653 Archived-At: --089e0141a7c819a3dc04d98d2aaa Content-Type: text/plain; charset=ISO-8859-1 > A DLL can never be statically linked. I meant "every dependent compiled object included in the libgcc_s_dw2-1.dll is statically linked" > If you want to be sure whether or not your executables depend on that > DLL, use the "depends" tool, which you can download from the net -- > just run it as in "depends emacs.exe" and it will show a window with > all the DLLs that the binary wants to load. Or use objdump that you > already have, like this: > objdump -x emacs.exe | fgrep "DLL Name:" Official emacs.exe, 2013-03-13 14:38, 9.031.038 bytes objdump -x emacs.exe | fgrep "DLL Name:" yields DLL Name: ADVAPI32.DLL DLL Name: COMCTL32.DLL DLL Name: COMDLG32.DLL DLL Name: GDI32.dll DLL Name: KERNEL32.dll DLL Name: MPR.DLL DLL Name: msvcrt.dll DLL Name: OLE32.dll DLL Name: SHELL32.DLL DLL Name: USER32.dll DLL Name: USP10.DLL DLL Name: WINMM.DLL DLL Name: WINSPOOL.DRV So I asume there is no dependency on libgcc_s_dw2-1.dll. I have always run emacs.exe with no libgcc_s_dw2-1.dll around. Miguel. 2013/4/4 Eli Zaretskii > > Date: Thu, 4 Apr 2013 07:45:59 +0200 > > From: Miguel Ruiz > > > > AFAIK, libgcc_s_dw2-1.dll is statically linked so it is irrelevant the > > origin of the file. > > A DLL can never be statically linked. > > If you want to be sure whether or not your executables depend on that > DLL, use the "depends" tool, which you can download from the net -- > just run it as in "depends emacs.exe" and it will show a window with > all the DLLs that the binary wants to load. Or use objdump that you > already have, like this: > > objdump -x emacs.exe | fgrep "DLL Name:" > > The latter only shows the names of the DLLs, not their absolute file > names. > > > I have experienced the same crashes and I can confirm two things: > > - No crashes with gcc v3.x.x > > - No crashes with gcc v4.5 sjlj > > > > And this thread< > http://sourceforge.net/mailarchive/message.php?msg_id=27481215>might > > confirm the last point. > > > > Now I am going to build with tdm-gcc-4.7.1-2 > > MinGW > > sjlj , and test stability. If > anyone > > would like to test my binaries, please, let me know: I will be pleased. > > If the above methods show that your binary depends on > libgcc_s_dw2-1.dll, you _must_ tell your users which one of them is > actually linked into the binary. The "depends" tool will show you a > full path to the DLL which the binary will use, and the linker links > against the DLL which came with the version of GCC you used to compile > Emacs. You should tell the users "get libgcc_s_dw2-1.dll from GCC > version 4.x.y that you find on this-and-that site". > > Thanks. > --089e0141a7c819a3dc04d98d2aaa Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable

> A DLL can never be statically linked.

I meant "every dependent compiled object included in the libgcc_s_dw2-= 1.dll is statically linked"

> If you want = to be sure whether or not your executables depend on that
> DLL, use t= he "depends" tool, which you can download from the net --<= br style=3D"font-family:arial,sans-serif;font-size:13px">> just run it as in "depe= nds emacs.exe" and it will show a window with
> all the DL= Ls that the binary wants to load. =A0Or use objdump that you
> already have, like this:

=A0> =A0objdump -x emacs.exe = | fgrep "DLL Name:"

Official emacs.exe, 2013-03-13 14:38, 9.031.038 bytes

objdump= -x emacs.exe | fgrep "DLL Name:" yields

DLL Name: ADVAPI32.DLL
DLL Name: COMCTL32.DLL
DLL Name: COMDLG32.DLL
DLL Name: GDI32.dll=
DLL Name: KER= NEL32.dll
DLL = Name: MPR.DLL
DLL Name: msvcrt.dl= l
DLL Name: OL= E32.dll
DLL Na= me: SHELL32.DLL
DLL Name: USER32.dl= l
DLL Name: US= P10.DLL
DLL Na= me: WINMM.DLL
DLL Name: WINSPOOL.= DRV

So I asume there is no dependency on libgcc_= s_dw2-1.dll.

I have always run emacs.e= xe with no libgcc_s_dw2-1.dll around.

Miguel.


=


2013/4/= 4 Eli Zaretskii <eliz@gnu.org>
> Date: Thu, 4 Apr 2013 07:45:59 +0200 > From: Miguel Ruiz <rbenit68@g= mail.com>
>
> AFAIK, =A0libgcc_s_dw2-1.dll is statically linked so it is irrelevant = the
> origin of the file.

A DLL can never be statically linked.

If you want to be sure whether or not your executables depend on that
DLL, use the "depends" tool, which you can download from the net = --
just run it as in "depends emacs.exe" and it will show a window w= ith
all the DLLs that the binary wants to load. =A0Or use objdump that you
already have, like this:

=A0 objdump -x emacs.exe | fgrep "DLL Name:"

The latter only shows the names of the DLLs, not their absolute file
names.

> I have experienced the same crashes and I can confirm two things:
> - No crashes with gcc v3.x.x
> - No crashes with gcc v4.5 sjlj
>
> And this thread<http://sourceforge.net/ma= ilarchive/message.php?msg_id=3D27481215>might
> confirm the last point.
>
> Now I am going to build with tdm-gcc-4.7.1-2
> <http://tdm-gcc.tdragon.net/download>MinGW
> sjlj <http://tdm-gcc.tdragon.net/download>, and test stability. If an= yone
> would like to test my binaries, please, let me know:= I will be pleased.

If the above methods show that your binary depends on
libgcc_s_dw2-1.dll, you _must_ tell your users which one of them is
actually linked into the binary. =A0The "depends" tool will show = you a
full path to the DLL which the binary will use, and the linker links
against the DLL which came with the version of GCC you used to compile
Emacs. =A0You should tell the users "get libgcc_s_dw2-1.dll from GCC version 4.x.y that you find on this-and-that site".

Thanks.

--089e0141a7c819a3dc04d98d2aaa--