There's definitely more to it than the current intrinsics, which are
there to support dwarf.
that's to say we need modify the llvm-gcc so the front end can
generate the sjlj-style IR,
SJLJ exceptions rely on runtime library
functions to register and unregister call frames which require
unwinding, so we need to modify LLVM to handle generating those call
my approach : when the user use the option, e.g -enable-sjlj-eh, I
will build the register and unregister, and
other handle sjlj-eh calls, at my target side. yeah, that's a ugly
method, because I didn't touch the llvm-gcc
Most of the landing pad organization should transfer over with only a
bit of tweaking. The type checking and catch selection needs to be
compatible with what's passed from GCC generated code, so there's a
bit of work to do there as well.
because of my above ugly approach! now that's very difficult for me
to generate the right exception table!