[llvm-dev] Intel MPX support (instrumentation pass similar to gcc's Pointer Checker)

David Chisnall via llvm-dev llvm-dev at lists.llvm.org
Thu Jan 28 09:14:00 PST 2016


On 28 Jan 2016, at 17:03, Dmitrii Kuvaiskii via llvm-dev <llvm-dev at lists.llvm.org> wrote:
> 
> Interestingly, my
> preliminary experiments indicate that adding MPX bounds checking via
> Pointer Checker in gcc is usually slower than using software-only
> AddressSanitizer.

This corresponds with other results that I have seen.  The last time I looked at the output from gcc, it also did not generate pointer updates that were safe in the presence of concurrency (they must be bracketed in transactions if you want the MPX metadata and the pointer updates to be atomic) and the overhead of this is likely to be even more.

I am particularly impressed with Intel for creating a hardware implementation that is both slower than a software-only version and can not (due to its fail-open policy being embedded in the hardware) be used for security.

David



More information about the llvm-dev mailing list