From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: multipart/mixed; boundary="===============1125528453676448885==" MIME-Version: 1.0 From: Mark Wielaard To: elfutils-devel@lists.fedorahosted.org Subject: Re: Using dwfl to enumerate frames of current thread Date: Thu, 20 Aug 2015 19:39:37 +0200 Message-ID: <1440092377.3117.152.camel@bordewijk.wildebeest.org> In-Reply-To: 1440091965.3117.149.camel@bordewijk.wildebeest.org --===============1125528453676448885== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable On Thu, 2015-08-20 at 19:32 +0200, Mark Wielaard wrote: > On Thu, 2015-08-20 at 10:06 -0700, Josh Stone wrote: > > On 08/20/2015 08:32 AM, Mark Wielaard wrote: > > > See Dwarf 4 2.17 Code Addresses and Ranges. In particular elfutils ta= kes > > > advantage of: > > > "If an entity has no associated machine code, none of these attributes > > > are specified." > > = > > (A -> B) does not give you (B -> A)! > > = > > That is, the spec does *not* say "If none of these attributes are > > specified, the entity has no associated machine code." > = > Maybe the spec needs clarification that is what is actually meant. Or > you can see it as a quality of implementation issue. But it is what we > need and what we rely on. Otherwise you have no way to know whether or > not to scan a whole CU or DIE subtree for program scope DIEs. And always > scanning each and every subtree just in case some program scope DIE is > hiding deep down is just silly. I see it is in the non-normative text of 6.1 Accelerated Access: To find the debugging information associated with a subroutine, given an address, a debugger can use the low and high pc attributes of the compilation unit entries to quickly narrow down the search So, yes, it is non-normative, but it still makes a lot of sense :) Cheers, Mark --===============1125528453676448885==--