From: Sasha Da Rocha Pinheiro <darochapinhe@wisc.edu>
To: Mark Wielaard <mark@klomp.org>
Cc: "elfutils-devel@sourceware.org" <elfutils-devel@sourceware.org>
Subject: Re: Dwarf_FDE (libdw)
Date: Mon, 17 Jul 2017 17:53:00 -0000 [thread overview]
Message-ID: <BN6PR06MB3090C0708496E02EA59BE47CA6A00@BN6PR06MB3090.namprd06.prod.outlook.com> (raw)
In-Reply-To: <20170717174821.GA2236@stream>
Yes, that's what I am trying to do right now.
Try/catch blocks or exception handling is the right term I guess.
From: Mark Wielaard <mark@klomp.org>
Sent: Monday, July 17, 2017 12:48 PM
To: Sasha Da Rocha Pinheiro
Cc: elfutils-devel@sourceware.org
Subject: Re: Dwarf_FDE (libdw)
On Mon, Jul 17, 2017 at 05:16:00PM +0000, Sasha Da Rocha Pinheiro wrote:
> So you're saying that the augmentation data of a FDE is the augmentation
> data of its CIE?
> https://refspecs.linuxfoundation.org/LSB_3.0.0/LSB-PDA/LSB-PDA/ehframechpt.html
Chapter 8. Exception Frames - Linux Foundation
refspecs.linuxfoundation.org
Chapter 8. Exception Frames. When using languages that support exceptions, such as C++, additional information must be provided to the runtime environment that ...
> says differently.
If you need to read the low-level augmentation data from an FDE then you
need to know whether it is there and how the FDE addresses are encoded.
Which is encoded in the CIE augmentation data.
> The thing is I need to get catch blocks, and eh_frame is not exactly
> Dwarf format. That's why I need FDE augmentation data also.
> Libdw doesn't do this, am I correct?
libdw handles both .debug_frame and .eh_frame data.
And you can use the Dwarf_Frames to unwind.
I believe the only thing not directly exposed are the lsda and
personality pointers. Is that the functionality that you need for
"catch blocks"?
Cheers,
Mark
next prev parent reply other threads:[~2017-07-17 17:53 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-07-15 1:01 Sasha Da Rocha Pinheiro
2017-07-15 21:30 ` Mark Wielaard
2017-07-17 4:13 ` Sasha Da Rocha Pinheiro
2017-07-17 13:29 ` Mark Wielaard
2017-07-17 17:16 ` Sasha Da Rocha Pinheiro
2017-07-17 17:48 ` Mark Wielaard
2017-07-17 17:53 ` Sasha Da Rocha Pinheiro [this message]
[not found] ` <BN6PR06MB30906C0218E8B06135F18B87A6A10@BN6PR06MB3090.namprd06.prod.outlook.com>
2017-07-21 19:39 ` Mark Wielaard
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=BN6PR06MB3090C0708496E02EA59BE47CA6A00@BN6PR06MB3090.namprd06.prod.outlook.com \
--to=darochapinhe@wisc.edu \
--cc=elfutils-devel@sourceware.org \
--cc=mark@klomp.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).