How would I go about getting a custom data format stored at the
exception landing pads (the location _Unwind_GetLanguageSpecificData
returns)? The Dwarf encoded format is not well suited for the type of
exception handling I wish to do in my language.
Will this be possible, or is exception handling mechanism so tightly
tied to the Dwarf format that it would be extremely difficult?
I want to write custom data at the landingpads. That is, when I call
_Unwind_GetLanguageSpecificData I would like that to point to a
structure that I have created. Currently it points to a Dwarf encoded
table, action records, etc. A lot of my exception handling code is thus
just there to decode the Dwarf information -- which seems optimized for
C++ style type-based exceptions.
My exceptions don't need all that information. Given simply the
exception object (which is available in the personality) and a single
integer at the landingpad I can know whether I have a catch or clean. I
don't need C++ like RTTI for this to work.