These are chat archives for dropbox/pyston

28th
Jan 2016
Marius Wachtler
@undingen
Jan 28 2016 19:52
So I'm having the issue that a extension is written in c++ and is using c++ exception handling (libsass - one of the very few project I know of which really use c++ exception). The problem is that our custom unwinder overwrites the c++ eh symbols but only support throwing ExcInfos...
my hack / minimum effort approach was now to mark our symbols hidden whichs seams to work somewhat (LLVM JIT is broken because it calls the gcc symbols but that should be easy to fix but otherwise seams to work)
Do you guys think this approach approach can work? Or other suggestions?
Marius Wachtler
@undingen
Jan 28 2016 20:00
I'm not sure what will happen if we have a frame like:
pyston | extension with standard c++ exc and a catch block | pyston frame which throwes an exception....
but probably not the right thing but my head already hurts to much today will soon go home and think tomorrow about it.. But maybe you have an easy solution?
Oh now that I think of it again I think the previous example is not a problem because we will always catch our exc info before it can unwind to the C extension...
Kevin Modzelewski
@kmod
Jan 28 2016 23:07
hmm hopefully the two types of exceptions wouldn't mix
I guess if they have a bug and propagate a C++ exception out of their code, then that will mess things up
I don't have any better ideas other than hiding the symbols to try to get them to use the gcc unwinder...