]> granicus.if.org Git - llvm/commitdiff
Disable EHFrameSupport in JITLink/RuntimeDyld on AIX
authorXing Xue <xingxue@outlook.com>
Wed, 22 May 2019 17:41:27 +0000 (17:41 +0000)
committerXing Xue <xingxue@outlook.com>
Wed, 22 May 2019 17:41:27 +0000 (17:41 +0000)
Summary:
EH Frames aren't supported on AIX with the system compiler, but the definition of HAVE_EHTABLE_SUPPORT misses this which causes linking problems on AIX. This patch updates the definition of HAVE_EHTABLE_SUPPORT in both JITLink and RuntimeDyld.

Author: daltenty

Reviewers: sfertile, xingxue, hubert.reinterpretcase

Reviewed By: xingxue

Subscribers: hiraditya, jsji, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D62203

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@361410 91177308-0d34-0410-b5e6-96231b3b80d8

lib/ExecutionEngine/JITLink/EHFrameSupport.cpp
lib/ExecutionEngine/RuntimeDyld/RTDyldMemoryManager.cpp

index 67c37a5f9b15600d7daadb005218557f19fe7053..17855f36574bf1da180e3d67f2d5063216f7d0d5 100644 (file)
@@ -386,7 +386,8 @@ Error addEHFrame(AtomGraph &G, Section &EHFrameSection,
 
 // Determine whether we can register EH tables.
 #if (defined(__GNUC__) && !defined(__ARM_EABI__) && !defined(__ia64__) &&      \
-     !defined(__SEH__) && !defined(__USING_SJLJ_EXCEPTIONS__))
+     !(defined(_AIX) && defined(__ibmxl__)) && !defined(__SEH__) &&            \
+     !defined(__USING_SJLJ_EXCEPTIONS__))
 #define HAVE_EHTABLE_SUPPORT 1
 #else
 #define HAVE_EHTABLE_SUPPORT 0
index 0363cd5e3b2cf359255e69c483cbcd97a9e3b963..46604ff4000c110780921afcac132936bed26446 100644 (file)
@@ -32,8 +32,9 @@ namespace llvm {
 RTDyldMemoryManager::~RTDyldMemoryManager() {}
 
 // Determine whether we can register EH tables.
-#if (defined(__GNUC__) && !defined(__ARM_EABI__) && !defined(__ia64__) && \
-     !defined(__SEH__) && !defined(__USING_SJLJ_EXCEPTIONS__))
+#if (defined(__GNUC__) && !defined(__ARM_EABI__) && !defined(__ia64__) &&      \
+     !(defined(_AIX) && defined(__ibmxl__)) && !defined(__SEH__) &&            \
+     !defined(__USING_SJLJ_EXCEPTIONS__))
 #define HAVE_EHTABLE_SUPPORT 1
 #else
 #define HAVE_EHTABLE_SUPPORT 0