|
|
|
|
|
by sherincall
2073 days ago
|
|
Be that as it may, existing software that used to work will no longer work, and the developers might not be around/able to fix it. There are also cases of custom suballocators or arrays of objects - Looking at an address makes it possibly to figure out which array it belongs to. This code would break. Granted, it would still be possible to do all this if you just mask off the tag bits, but it requires a software change. |
|
It's always the case that some software that does things that are not valid-by-the-language-standard might break if run on a newer version of the OS or a newer system library version (remember the big flap about glibc memcpy() changing its behaviour when called for overlapping regions?). You don't want to break lots of software gratuitously, but sometimes the tradeoff is worth making.