Comment by saagarjha
5 years ago
Note that this code is shipping as a kernel extension, which uses Embedded C++, not standard C++. Notably, things like templates and exceptions are not available. It would be nice if they could work on this instead, but looking at the dyld and Security sources (which has no such limitations, as the run in userspace) I don't have much confidence.
They could still make use of bounds checking, like my own classes did back in the MS-DOS days, when C++ARM was pretty much the only thing available.
Naturally when one writes C in C++ it doesn't help.
I suspect that they'll adopt MTE first.
I agree, that was the path taken by Solaris SPARC and it is the only way to make it work, because even if a language level safety would be introduced today, not everyone would bother adopting it.