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 <m...@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