edA-qa mort-ora-y
2013-Mar-31 14:28 UTC
[LLVMdev] custom landingpad data, not dwarf encoded clauses?
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? -- edA-qa mort-ora-y -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- Sign: Please digitally sign your emails. Encrypt: I'm also happy to receive encrypted mail. -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 261 bytes Desc: OpenPGP digital signature URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20130331/7a8f2e31/attachment.sig>
Duncan Sands
2013-Mar-31 17:28 UTC
[LLVMdev] custom landingpad data, not dwarf encoded clauses?
Hi edA-qa mort-ora-y, On 31/03/13 16:28, edA-qa mort-ora-y wrote:> 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 didn't understand the question, can you please be more explicit about what you want to do exactly. Ciao, Duncan.
edA-qa mort-ora-y
2013-Mar-31 17:47 UTC
[LLVMdev] custom landingpad data, not dwarf encoded clauses?
On 31/03/13 19:28, Duncan Sands wrote:>> 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. > I didn't understand the question, can you please be more explicit about > what > you want to do exactly.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. -- edA-qa mort-ora-y -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- Sign: Please digitally sign your emails. Encrypt: I'm also happy to receive encrypted mail. -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 261 bytes Desc: OpenPGP digital signature URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20130331/52f8af2d/attachment.sig>
Apparently Analagous Threads
- [LLVMdev] custom landingpad data, not dwarf encoded clauses?
- [LLVMdev] custom landingpad data, not dwarf encoded clauses?
- [LLVMdev] landingpad catch types not making it to Dwarf tables
- [LLVMdev] trouble understanding value in dwarf exception mechanism
- [LLVMdev] post-link Dwarf information appears wrong, works in JIT