Putting the privateSnippetExecutor() assembly code as inline asm
inside an otherwise empty C++ function helps, for some reason.
Use the actual _Unwnd_Exception and __cxa_exception definitions as
used by Apple (from opensource.apple.com libunwind and libcppabi
sources) instead of guessing.
Change-Id: I1ef22a9c0c664d3a357b9a6474406141f53cc490
Basically, a 1:1 copy of the Linux x86-64 one. The Apple docs say that
"The OS X x86-64 function calling conventions are the same as the
function calling conventions described in System V Application Binary
Interface AMD64 Architecture Processor Supplement," which should mean
that it's the same as on Linux.
Once this works, the very minor differences to the Linux one will be
merged as ifdefs into the Linux one, and no separate source files will
be needed.
Change-Id: I1ff58f303a7ab7f59ec2ff7a9e24465e89151ec5