3 ms·
Interestingly enough, the x86 processor has a BOUND instruction, which was supposed to be used for array bounds checking and would throw interrupt 5 on error.
by pmalynin 11y ago
Interestingly enough, the x86 processor has a BOUND instruction, which was supposed to be used for array bounds checking and would throw interrupt 5 on error.
It has never really caught on.
- Scaevolus 11y agoAMD removed BOUND as part of the 64-bit transition. Intel is adding a similar feature to Skylake (Aug 2015) called "Intel Memory Protection Extensions" (MPX). The Address Sanitizer team has an analysis of it: https://code.google.com/p/address-sanitizer/wiki/IntelMemoryProtectionExtensions https://code.google.com/p/address-sanitizer/wiki/IntelMemory... > A very biased conclusion: Intel MPX might be useful for in-struct buffer overflow detection, and for general buffer overflow detection in programs with lots of arrays and few pointers. However AddressSanitizer (and, if implemented, AddressSanitizerInHardware) is more useful: faster, finds more bugs, easier to deploy.