I believe pretty much anything *ix on 64-bit(at least) x86 (32-bit gets a bit murkier due to historical issues) is using the same exception handling ABI (which itself was based off the Itanic ABI):

http://www.x86-64.org/documentation/abi.pdf



On Tue, Sep 23, 2014 at 1:31 PM, Walter Bright via Digitalmars-d <digitalmars-d@puremagic.com> wrote:
On 9/23/2014 11:03 AM, David Nadlinger wrote:
On Tuesday, 23 September 2014 at 17:37:42 UTC, Andrei Alexandrescu wrote:
We need a libunwind expert to figure out a good approach for handling
exceptions thrown by C++ code into D.

Is anyone fluent with libunwind?

More or less.

What exactly are your goals? I thought the options we have are fairly clear, as
discussed a few days ago. At least, Amaury and I seemed to agree (both of us
worked on EH recently). The main question to decide is whether you want to go
down the catch-C++-exceptions-in-D rabbit hole.

One goal is to have dmd use the g++ exception handling mechanism. But googling how that works, I find dead links, specs that are 15 years old accompanied by vague comments about it being "extended" and "look at the g++ source code", etc.

Are there any actual docs about how it works for x86? Or is it the usual "take apart the output of g++ and figure it out" that I usually wind up doing :-( ?