RISC-V port

Luís Marques 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 mailing list