Index: cmake/Modules/CustomLibcxx/CMakeLists.txt =================================================================== --- cmake/Modules/CustomLibcxx/CMakeLists.txt +++ cmake/Modules/CustomLibcxx/CMakeLists.txt @@ -4,6 +4,7 @@ # Build static libcxxabi. set(LIBCXXABI_STANDALONE_BUILD 1) set(LIBCXXABI_ENABLE_SHARED OFF CACHE BOOL "") +set(LIBCXXABI_ENABLE_EXCEPTIONS OFF CACHE BOOL "") set(LIBCXXABI_HERMETIC_STATIC_LIBRARY ON CACHE STRING "") set(LIBCXXABI_LIBCXX_PATH ${COMPILER_RT_LIBCXX_PATH} CACHE PATH "") set(LIBCXXABI_INCLUDE_TESTS OFF CACHE BOOL "") Index: test/fuzzer/libcxx.test =================================================================== --- test/fuzzer/libcxx.test +++ test/fuzzer/libcxx.test @@ -0,0 +1,15 @@ +# Ensures that the libFuzzer library does not export exceptions. + +RUN: %cpp_compiler %S/SimpleTest.cpp -o %t +RUN: nm %t 2>&1 | FileCheck %s + +CHECK-NOT: t __cxa_allocate_dependent_exception +CHECK-NOT: t __cxa_allocate_exception +CHECK-NOT: t __cxa_begin_catch +CHECK-NOT: t __cxa_call_unexpected +CHECK-NOT: t __cxa_current_exception_type +CHECK-NOT: t __cxa_end_catch +CHECK-NOT: t __cxa_free_dependent_exception +CHECK-NOT: t __cxa_free_exception +CHECK-NOT: t __cxa_get_exception_ptr +CHECK-NOT: t __cxa_throw