<pre style='margin:0'>
Ken (kencu) pushed a commit to branch master
in repository macports-ports.
</pre>
<p><a href="https://github.com/macports/macports-ports/commit/21b7fa2221f34a0e96d35a3675f5ad93caf08c38">https://github.com/macports/macports-ports/commit/21b7fa2221f34a0e96d35a3675f5ad93caf08c38</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'> new 21b7fa2221f clang-12: use upstream patch to reenable parallel building
</span>21b7fa2221f is described below
<span style='display:block; white-space:pre;color:#808000;'>commit 21b7fa2221f34a0e96d35a3675f5ad93caf08c38
</span>Author: Ken Cunningham <kencu@macports.org>
AuthorDate: Sun Aug 15 21:24:53 2021 -0700
<span style='display:block; white-space:pre;color:#404040;'> clang-12: use upstream patch to reenable parallel building
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> see: https://trac.macports.org/ticket/63085
</span>---
lang/llvm-12/Portfile | 6 +-
.../files/0026-compiler-rt-parallel-D106305.patch | 100 +++++++++++++++++++++
2 files changed, 102 insertions(+), 4 deletions(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/llvm-12/Portfile b/lang/llvm-12/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index ec22b2058cc..c31f3bd1afb 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/llvm-12/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/llvm-12/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -117,7 +117,8 @@ patchfiles-append \
</span> 0013-clang-add-back-runtime-libraries-used-on-10.4-and-10.patch \
0014-Fix-float.h-to-work-on-Snow-Leopard-and-earlier.patch \
0015-Fixup-libstdc-header-search-paths-for-older-versions.patch \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- 0025-lldb-add-defines-needed-for-older-SDKs.patch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 0025-lldb-add-defines-needed-for-older-SDKs.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 0026-compiler-rt-parallel-D106305.patch
</span>
if {${os.platform} eq "darwin" && ${os.major} < 14} {
patchfiles-append \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -208,9 +209,6 @@ if {${subport} eq "clang-${llvm_version}"} {
</span> }
}
<span style='display:block; white-space:pre;background:#ffe0e0;'>- # disable parallel building until upstream fixes the race condition in compiler_rt
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- use_parallel_build no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> # CMAKE_LINKER is used to determine the value for HOST_LINK_VERSION
configure.args-append \
-DCMAKE_LINKER=${prefix}/bin/ld \
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/llvm-12/files/0026-compiler-rt-parallel-D106305.patch b/lang/llvm-12/files/0026-compiler-rt-parallel-D106305.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..8380eb9cf01
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/llvm-12/files/0026-compiler-rt-parallel-D106305.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,100 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From b31080c596246bc26d2493cfd5e07f053cf9541c Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Raul Tambre <raul@tambre.ee>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Wed, 21 Jul 2021 20:38:24 +0300
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] [compiler-rt][CMake][arm64] Use a custom target for
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ symlinking LSE sources
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+On Apple platforms the builtins may be built for both arm64 and arm64e.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+With Makefile generators separate targets are built using Make sub-invocations.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+This causes a race when creating the symlink which may sometimes fail.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Work around this by using a custom target that the builtin targets depend on.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+This causes any sub-invocations to depend on the symlinks having been created before.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Mailing list thread: https://lists.llvm.org/pipermail/llvm-dev/2021-July/151822.html
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Reviewed By: thakis, steven_wu
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Differential Revision: https://reviews.llvm.org/D106305
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ .../cmake/Modules/CompilerRTDarwinUtils.cmake | 14 ++++++++++++++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ compiler-rt/lib/builtins/CMakeLists.txt | 17 +++++++++++++----
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 2 files changed, 27 insertions(+), 4 deletions(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/compiler-rt/cmake/Modules/CompilerRTDarwinUtils.cmake b/compiler-rt/cmake/Modules/CompilerRTDarwinUtils.cmake
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 380ae031a0fea..276fcbb9c0e3c 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/compiler-rt/cmake/Modules/CompilerRTDarwinUtils.cmake
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/compiler-rt/cmake/Modules/CompilerRTDarwinUtils.cmake
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -405,6 +405,18 @@ macro(darwin_add_builtin_libraries)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ../profile/InstrProfilingVersionVar.c)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ foreach (os ${ARGN})
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ list_intersect(DARWIN_BUILTIN_ARCHS DARWIN_${os}_BUILTIN_ARCHS BUILTIN_SUPPORTED_ARCH)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if((arm64 IN_LIST DARWIN_BUILTIN_ARCHS OR arm64e IN_LIST DARWIN_BUILTIN_ARCHS) AND NOT TARGET lse_builtin_symlinks)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ add_custom_target(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ lse_builtin_symlinks
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ BYPRODUCTS ${lse_builtins}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ${arm64_lse_commands}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ set(deps_arm64 lse_builtin_symlinks)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ set(deps_arm64e lse_builtin_symlinks)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ endif()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ foreach (arch ${DARWIN_BUILTIN_ARCHS})
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ darwin_find_excluded_builtins_list(${arch}_${os}_EXCLUDED_BUILTINS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ OS ${os}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -419,6 +431,7 @@ macro(darwin_add_builtin_libraries)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ darwin_add_builtin_library(clang_rt builtins
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ OS ${os}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ARCH ${arch}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ DEPS ${deps_${arch}}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ SOURCES ${filtered_sources}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ CFLAGS ${CFLAGS} -arch ${arch}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ PARENT_TARGET builtins)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -443,6 +456,7 @@ macro(darwin_add_builtin_libraries)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ darwin_add_builtin_library(clang_rt cc_kext
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ OS ${os}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ARCH ${arch}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ DEPS ${deps_${arch}}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ SOURCES ${filtered_sources} ${PROFILE_SOURCES}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ CFLAGS ${CFLAGS} -arch ${arch} -mkernel
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ DEFS KERNEL_USE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/compiler-rt/lib/builtins/CMakeLists.txt b/compiler-rt/lib/builtins/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 628fe0558fdc2..59d83631a5f43 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/compiler-rt/lib/builtins/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/compiler-rt/lib/builtins/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -531,10 +531,8 @@ foreach(pat cas swp ldadd ldclr ldeor ldset)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ foreach(model 1 2 3 4)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if(pat STREQUAL "cas" OR NOT size STREQUAL "16")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set(helper_asm "${OA_HELPERS_DIR}/outline_atomic_${pat}${size}_${model}.S")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- add_custom_command(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- OUTPUT ${helper_asm}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- COMMAND ${CMAKE_COMMAND} -E ${COMPILER_RT_LINK_OR_COPY} "${CMAKE_CURRENT_SOURCE_DIR}/aarch64/lse.S" "${helper_asm}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ list(APPEND lse_builtins "${helper_asm}")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ list(APPEND arm64_lse_commands COMMAND ${CMAKE_COMMAND} -E ${COMPILER_RT_LINK_OR_COPY} "${CMAKE_CURRENT_SOURCE_DIR}/aarch64/lse.S" "${helper_asm}")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set_source_files_properties("${helper_asm}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ PROPERTIES
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ COMPILE_DEFINITIONS "L_${pat};SIZE=${size};MODEL=${model}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -741,9 +739,20 @@ else ()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ list(APPEND BUILTIN_CFLAGS_${arch} -fforce-enable-int128)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ endif()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if(arch STREQUAL "aarch64")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ add_custom_target(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ lse_builtin_symlinks
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ BYPRODUCTS ${lse_builtins}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ${arm64_lse_commands}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ set(deps_aarch64 lse_builtin_symlinks)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ endif()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ add_compiler_rt_runtime(clang_rt.builtins
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ STATIC
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ARCHS ${arch}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ DEPS ${deps_${arch}}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ SOURCES ${${arch}_SOURCES}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ DEFS ${BUILTIN_DEFS}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ CFLAGS ${BUILTIN_CFLAGS_${arch}}
</span></pre><pre style='margin:0'>
</pre>