This is an archive of the discontinued LLVM Phabricator instance.

When built with ASan, __cxa_throw calls __asan_handle_no_return
ClosedPublic

Authored by mcgrathr on Aug 28 2017, 1:10 PM.

Details

Summary

The ASan runtime on many systems intercepts cxa_throw just so it
can call
asan_handle_no_return first. Some newer systems such as
Fuchsia don't use interceptors on standard library functions at all,
but instead use sanitizer-instrumented versions of the standard
libraries. When libc++abi is built with ASan, cxa_throw can just
call
asan_handle_no_return itself so no interceptor is required.

This is a re-land of r311045, which has become safe after r311869
changed compiler-rt to declare __asan_handle_no_return.

Diff Detail

Repository
rL LLVM

Event Timeline

mcgrathr created this revision.Aug 28 2017, 1:10 PM

Re-land of https://reviews.llvm.org/D36599
Actually builds now that compiler-rt has been updated.

phosek accepted this revision.Aug 29 2017, 2:09 PM

LGTM

This revision is now accepted and ready to land.Aug 29 2017, 2:09 PM
This revision was automatically updated to reflect the committed changes.