sollve: build on aarch64 (#19123)

This commit is contained in:
Toyohisa Kameyama 2020-10-07 22:54:07 +09:00 committed by GitHub
parent f83bd360c6
commit a12b03b8d4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 33 additions and 3 deletions

View File

@ -0,0 +1,27 @@
commit 525b70302cea9b5850be9ee8d33b7660455082f2
Author: Shintaro Iwasaki <siwasaki@anl.gov>
Date: Wed Apr 15 03:46:44 2020 +0000
[BOLT] disable futex and adaptive locks if unused
On some architectures, including POWER 9, futex locks and/or adaptive locks are
not enabled by default, but BOLT assumed they are available, causing
compile-time errors on such a platform. This patch fixes it.
diff --git a/runtime/src/kmp_lock.cpp b/runtime/src/kmp_lock.cpp
index 5dcc4ee..5cda629 100644
--- a/runtime/src/kmp_lock.cpp
+++ b/runtime/src/kmp_lock.cpp
@@ -219,8 +219,12 @@ KMP_DEFINE_LOCKS(tas)
KMP_DEFINE_LOCKS(ticket)
KMP_DEFINE_LOCKS(queuing)
KMP_DEFINE_LOCKS(drdpa)
+#if KMP_USE_FUTEX
KMP_DEFINE_LOCKS(futex)
+#endif
+#if KMP_USE_ADAPTIVE_LOCKS
KMP_DEFINE_LOCKS(adaptive)
+#endif
typedef kmp_abt_mutex_lock_t kmp_hle_lock_t;
KMP_DEFINE_LOCKS(hle)
typedef kmp_abt_mutex_lock_t kmp_rtm_lock_t;

View File

@ -7,9 +7,10 @@
class Sollve(CMakePackage):
"""The SOLLVE Project aims at scaling OpenMP by leveraging LLVM for exascale
performance and portability of applications. This package provides a
collection of Clang/LLVM compilers and an OpenMP runtime library.
"""The SOLLVE Project aims at scaling OpenMP by leveraging LLVM for
exascale performance and portability of applications. This package
provides a collection of Clang/LLVM compilers and an OpenMP runtime
library.
"""
homepage = 'https://www.bnl.gov/compsci/projects/SOLLVE/'
@ -137,6 +138,8 @@ class Sollve(CMakePackage):
conflicts('%gcc@:5.0.999')
conflicts('+omp_tsan')
patch('disable_unused_lock.patch', when='@1.0a2', working_dir='projects/openmp')
@run_before('cmake')
def check_darwin_lldb_codesign_requirement(self):
if not self.spec.satisfies('+lldb platform=darwin'):