[CMake][ExecutionEngine] add HAVE_(DE)REGISTER_FRAME as a config.h macros
authorDavid Tenty <daltenty@ibm.com>
Tue, 10 Nov 2020 17:03:30 +0000 (12:03 -0500)
committerDavid Tenty <daltenty@ibm.com>
Tue, 10 Nov 2020 18:09:44 +0000 (13:09 -0500)
commitae032e2714675354457c474f4c8f5581714e33d1
treec89e626518eee772ebbe10415086122933e27812
parent08d1c2d4701f5e66d5e328818905a62d6f4ba27e
[CMake][ExecutionEngine] add HAVE_(DE)REGISTER_FRAME  as a config.h macros

The macro HAVE_EHTABLE_SUPPORT is used by parts of ExecutionEngine to tell __register_frame/__deregister_frame is available to register the
FDE for a generated (JIT) code. It's currently set by a slowly growing set of macro tests in the respective headers, which is updated now and then when it fails to link on some platform or another due to the symbols being missing (see for example https://bugs.llvm.org/show_bug.cgi?id=5715).

This change converts the macro in two HAVE_(DE)REGISTER_FRAME config.h macros (like most of the other HAVE_* macros) and set's them based on whether CMake can actually find a definition for these symbols to link to at configuration time.

Reviewed By: hubert.reinterpretcast

Differential Revision: https://reviews.llvm.org/D87114
llvm/cmake/config-ix.cmake
llvm/cmake/unwind.h [new file with mode: 0644]
llvm/include/llvm/Config/config.h.cmake
llvm/lib/ExecutionEngine/JITLink/EHFrameSupport.cpp
llvm/lib/ExecutionEngine/RuntimeDyld/RTDyldMemoryManager.cpp