2 ms·
Versioning does not solve the problem. The aligned allocation operators have existed since llvm 8.x. The problem is not that the aligned allocation APIs are n
by olliej 4y ago
Versioning does not solve the problem.
The aligned allocation operators have existed since llvm 8.x.
The problem is not that the aligned allocation APIs are new. The problem is that TCMalloc is only partially replacing the global allocation APIs, it's just taken until this year for that bug to be exposed.
What has happened is presumably some part of the OS has updated its target C++ version so is now using the aligned allocators, which exposes the gap in TCMalloc.
I'm not sure if the spec explicitly allows an aligned allocation to be fed into an unaligned operator delete, but it seems like implementations do, so that's probably why adopting aligned operator new wouldn't be seen as an ABI break.
- DannyBee 4y agoThanks. This at least makes more sense than what I read, and explains what might actually have happened :)