luis at luismarques.eu
Wed May 23 14:47:56 UTC 2018
On Tuesday, 22 May 2018 at 18:29:44 UTC, Luís Marques wrote:
> Yup, I got the C++ exceptions to more or less work (it now
> jumps to the catch block, although it currently crashes in
> __cxa_end_catch with a misaligned instruction access). But that
> only works if I generate textual assembly and assemble that. If
> I generate an object file directly no relocations are generated
> for the table, and so it doesn't work.
The crashes were because the target didn't implement
`getExceptionPointerRegister` and `getExceptionSelectorRegister`.
In LLVM and druntime I have assumed those are x10 and x11, AKA a0
and a1, the argument passing/return value registers. Now I have
to implement the CFI directives for stack adjustment.
More information about the digitalmars-d-ldc