aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--compiler-rt/cmake/Modules/AddCompilerRT.cmake9
1 files changed, 6 insertions, 3 deletions
diff --git a/compiler-rt/cmake/Modules/AddCompilerRT.cmake b/compiler-rt/cmake/Modules/AddCompilerRT.cmake
index e0400a8ea952..dc36f16c661c 100644
--- a/compiler-rt/cmake/Modules/AddCompilerRT.cmake
+++ b/compiler-rt/cmake/Modules/AddCompilerRT.cmake
@@ -405,11 +405,14 @@ function(add_compiler_rt_runtime name type)
if (HAD_ERROR)
message(FATAL_ERROR "${CMAKE_LINKER} failed with status ${HAD_ERROR}")
endif()
- set(NEED_EXPLICIT_ADHOC_CODESIGN 1)
+ set(NEED_EXPLICIT_ADHOC_CODESIGN 0)
+ # Apple introduced a new linker by default in Xcode 15. This linker reports itself as ld
+ # rather than ld64 and does not match this version regex. That's ok since it never needs
+ # the explicit ad-hoc code signature.
if ("${LD_V_OUTPUT}" MATCHES ".*ld64-([0-9.]+).*")
string(REGEX REPLACE ".*ld64-([0-9.]+).*" "\\1" HOST_LINK_VERSION ${LD_V_OUTPUT})
- if (HOST_LINK_VERSION VERSION_GREATER_EQUAL 609)
- set(NEED_EXPLICIT_ADHOC_CODESIGN 0)
+ if (HOST_LINK_VERSION VERSION_LESS 609)
+ set(NEED_EXPLICIT_ADHOC_CODESIGN 1)
endif()
endif()
if (NEED_EXPLICIT_ADHOC_CODESIGN)