-
fpizlo@apple.com authored
https://bugs.webkit.org/show_bug.cgi?id=123682 Source/JavaScriptCore: Reviewed by Geoffrey Garen. Inside llvmForJSC, we override assertion-related functions and funnel them into g_llvmTrapCallback(). We also now register a fatal error handler inside the library and funnel that into g_llvmTrapCallback, and have initializeAndGetJSCLLVMAPI() take such a callback as an argument. Inside JSC, we no longer call LLVMInstallFatalErrorHandler() but instead we pass WTFLogAlwaysAndCrash() as the trap callback for llvmForJSC. * llvm/InitializeLLVM.cpp: (JSC::initializeLLVM): * llvm/InitializeLLVMPOSIX.cpp: (JSC::initializeLLVMPOSIX): * llvm/library/LLVMExports.cpp: (llvmCrash): (initializeAndGetJSCLLVMAPI): * llvm/library/LLVMOverrides.cpp: (raise): (__assert_rtn): (abort): * llvm/library/LLVMTrapCallback.h: Added. Source/WTF: Reviewed by Geoffrey Garen. Give JSC some new toys to play with for crash handling. * wtf/Assertions.cpp: * wtf/Assertions.h: Tools: Reviewed by Geoffrey Garen. Need to disable LLVM's crash overrides so that we can do our own crash overrides. * Scripts/configure-llvm: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@158509 268f45cc-cd09-0410-ab3c-d52691b4dbfc
cf3ac968