The clang driver has code to fallback to llvm-gcc if building a i386
kext because, according to the comments, clang doesn't support that
ABI. Is the ABI documented somewhere? Since llvm-gcc supported it it
shouldn't be too hard to port.
No, not as far as I know. It's a variant of the gcc 2.95 C++ ABI.
Especially if you consider than kext does not support «exceptions, multiple inheritance, templates, and runtime type information».
It should simplify greatly simplify the ABI.