delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2015/03/30/06:55:53

X-Recipient: archive-cygwin AT delorie DOT com
DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id
:list-unsubscribe:list-subscribe:list-archive:list-post
:list-help:sender:date:from:to:subject:message-id:reply-to
:references:mime-version:content-type:in-reply-to; q=dns; s=
default; b=oJiUcsKvoig6sfx+jBJpdv8xzVBhpGXnYSrruNYcniVX4LOkMeol4
mg1fre6qdYqsO0Tf7zbXFZrAoadhcpJcIpHPncxkqx2BqsvHYeXxU24X/3u/U6uq
xenXAMbkGNlguDihYoxBcpGlqMQRaM3UCZVLpXj9tg7yqJFdAQNB9Y=
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id
:list-unsubscribe:list-subscribe:list-archive:list-post
:list-help:sender:date:from:to:subject:message-id:reply-to
:references:mime-version:content-type:in-reply-to; s=default;
bh=DLGo2QZeSQyZ3zngcAQ8qjAmkeQ=; b=ssmP6qp2Z/d06aNAnddB4MmZ5ybS
fj3uduJjTExNO3JcCl8tHtmo0dRjRwL0mC2XVJispXQcFkmhzPIQUdIF9yJ4jhd1
ryGv6uQjUYLfcU+KhNskwYUA2SMaGtWcxfRcx099jLQMYCZ7TqFrY6xirjuzj4A2
AaOi5ZizWJL1OYI=
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com
Authentication-Results: sourceware.org; auth=none
X-Virus-Found: No
X-Spam-SWARE-Status: No, score=-5.9 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.2
X-HELO: calimero.vinschen.de
Date: Mon, 30 Mar 2015 12:55:29 +0200
From: Corinna Vinschen <corinna-cygwin AT cygwin DOT com>
To: cygwin AT cygwin DOT com
Subject: Re: static vs. shared linking
Message-ID: <20150330105529.GJ29875@calimero.vinschen.de>
Reply-To: cygwin AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
References: <5510A9AB DOT 7020607 AT tiscali DOT co DOT uk> <5511AF73 DOT 9070607 AT tiscali DOT co DOT uk> <20150325090453 DOT GB3017 AT calimero DOT vinschen DOT de> <551339E4 DOT 60705 AT tiscali DOT co DOT uk>
MIME-Version: 1.0
In-Reply-To: <551339E4.60705@tiscali.co.uk>
User-Agent: Mutt/1.5.23 (2014-03-12)

--phCU5ROyZO6kBE05
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Mar 25 22:42, David Stacey wrote:
> On 25/03/2015 09:04, Corinna Vinschen wrote:
> >  If you
> >install the cygwin-debuginfo package, addr2line returns something like t=
his
> >as the call stack (non-required path components removed):
> >
> >[...]/cygwin/exceptions.cc:1247
> >[...]/cygwin/exceptions.cc:1501
> >[...]/cygwin/sigproc.cc:717
> >[...]/cygwin/signal.cc:252
> >[...]/cygwin/signal.cc:303
> >[...]/cygwin/signal.cc:313
> >[...]/cygwin/signal.cc:289
> >[...]/cygwin/signal.cc:375
>=20
> Thank you for your comments - they were really helpful. Yes, I should have
> specified '-g' on the command line - that was an omission on my part -
> sorry.
>=20
> I've never had much joy out of addr2line before, and I'm struggling to
> recreate what you've done. I've added '-g' to the command line, run 'go.s=
h'
> again. This generates a fresh stackdump file, and then I do:
>=20
> awk '/^[0-9]/{print $2}' shared_test.exe.stackdump | addr2line -f -e
> shared_test.exe
>=20
> but I just see question marks. Please could you show the exact lines you'=
re
> using.

addr2line is a bit dumb and needs help.  What I do is to cat the
stackdump file and look at the addresses.  They usually show where
the stuff comes from:

  $ gawk '/^0/{print $2}' mkgroup.exe.stackdump
  7FFBDC82DDB6
  001800FEC36
  001800FE188
  001800CF471
  001800CF53D
  0018007EAC1
  00100402DE6
  00180049411
  00180046369
  00180046180
  00180049488
  00100401351
  00100401010
  7FFBD9FE13D2
  7FFBDC85EB64

The 7f addresses are from OS DLLs you can't read with addr2line.
0018xxx is the Cygwin DLL, 0010xxx is the application itself.  Other
addresses are other DLLs.  Just check the addresses against
/etc/rebase.db.x86_64.

Then call addr2line for each object file, e.g.:

  $ addr2line -e /usr/bin/cygwin1.dll 001800FEC36 001800FE188 001800CF471
  [...]/cygwin/passwd.cc:576
  [...]/cygwin/passwd.cc:353
  [...]/cygwin/grp.cc:413
  $ addr2line -e /usr/bin/mkgroup.exe 00100401351 00100401010
  /usr/src/debug/cygwin-1.7.35-1/winsup/cygwin/lib/cygwin_crt0.c:22
  /usr/src/debug/cygwin-1.7.35-1/winsup/cygwin/crt0.c:34


Corinna

--=20
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Maintainer                 cygwin AT cygwin DOT com
Red Hat

--phCU5ROyZO6kBE05
Content-Type: application/pgp-signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQIcBAEBAgAGBQJVGSuhAAoJEPU2Bp2uRE+gF78P/0Ok77GTWTVECmYu55aZQQvZ
e+QSEutFbr7F62ZIHIWPBJn9GsmVm6LUPxyV4lq26H9aFqSYNbcY4s8pLfL8TPLq
dQejOYUBwg6D1z8nEIVJD49kPl8IEraCx3ZY8bp8uss63R9NTVUpgCMgpk7jR7nD
SiJHu7WV/a7KoC6UlP8U3W8z2IqG0qsEh/gMUbxpVVnWKwQujN+SMSpvLQtuKPSA
QqZsflrxg+3rYPXLSWoQ/dBavHJdZ9PyCFVnk5SDjSWfVu3iPdD+KdXmTNfn7iRg
8iFdDwhPpN3ytPJGCe5ofmQ5iKaE71/7XcT8vwBOUUI2QatB0fclLTlVStOa24Y5
KTfYPfRZhURDpZDknw0NG5finBkwyuuA8FE5rihc0aFND318FRVooucr2Copfzlq
YKX60L4ztBtHa7xr79Lx1yZhNIIOpsY/ryXM7aavBegn3T3JJi7D85wD3t9vaqRH
2J/83iLWyQwvoB2uIENG+u4D6/eOYDG7I+YC6eO1OG6DdPYP6SzQsEqcNC7doRRJ
4ZDSZQ08Bq33TcBuZ1g2TFNBx61CcDtQZWxARW+gfraHXk6uO712nsMAXvk8FfDE
Cb4xN0C6jEmFcAC26P0OEw8oiTneuG6lzRWXNLTkiWQvlKlCq+EqqtOmTNlS28rL
XR0RP1yb9mGc2wtlI+7r
=v8rU
-----END PGP SIGNATURE-----

--phCU5ROyZO6kBE05--

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019