bc-lee updated this revision to Diff 405461.

Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D117924/new/

https://reviews.llvm.org/D117924

Files:
  clang/lib/Driver/ToolChains/Darwin.cpp
  clang/test/Driver/darwin-sanitizer-ld.c
  compiler-rt/cmake/builtin-config-ix.cmake
  compiler-rt/cmake/config-ix.cmake

Index: compiler-rt/cmake/config-ix.cmake
===================================================================
--- compiler-rt/cmake/config-ix.cmake
+++ compiler-rt/cmake/config-ix.cmake
@@ -304,7 +304,7 @@
   if ("${platform}" STREQUAL "")
     message(FATAL_ERROR "platform cannot be empty")
   endif()
-  if ("${platform}" MATCHES "^(osx|((ios|watchos|tvos)(sim)?))$")
+  if ("${platform}" MATCHES "^(osx|((ios|watchos|tvos)(sim)?)|catalyst)$")
     set(is_valid TRUE)
   endif()
   set(${is_valid_out} ${is_valid} PARENT_SCOPE)
@@ -341,6 +341,7 @@
   include(CompilerRTDarwinUtils)
 
   find_darwin_sdk_dir(DARWIN_osx_SYSROOT macosx)
+  find_darwin_sdk_dir(DARWIN_catalyst_SYSROOT macosx)
   find_darwin_sdk_dir(DARWIN_iossim_SYSROOT iphonesimulator)
   find_darwin_sdk_dir(DARWIN_ios_SYSROOT iphoneos)
   find_darwin_sdk_dir(DARWIN_watchossim_SYSROOT watchsimulator)
@@ -366,6 +367,12 @@
     set(DARWIN_iossim_MIN_VER_FLAG -mios-simulator-version-min)
     set(DARWIN_iossim_SANITIZER_MIN_VER_FLAG
       ${DARWIN_iossim_MIN_VER_FLAG}=${DARWIN_ios_MIN_VER})
+    list(APPEND DARWIN_EMBEDDED_PLATFORMS catalyst)
+    set(DARWIN_catalyst_MIN_VER 13.0)
+    set(DARWIN_catalyst_SANITIZER_MIN_VER_FLAG
+        ${DARWIN_ios_MIN_VER_FLAG}=${DARWIN_catalyst_MIN_VER}
+        -target
+        ${LIB_ARCH}-apple-ios${DARWIN_catalyst_MIN_VER}-macabi)
   endif()
   if(COMPILER_RT_ENABLE_WATCHOS)
     list(APPEND DARWIN_EMBEDDED_PLATFORMS watchos)
@@ -493,6 +500,10 @@
         endforeach()
       endif()
 
+      if("${platform}" STREQUAL "catalyst")
+        set(DARWIN_${platform}_SKIP_CC_KEXT On)
+      endif()
+
       if(DARWIN_${platform}_SYSROOT)
         set(DARWIN_${platform}_CFLAGS
           ${DARWIN_COMMON_CFLAGS}
Index: compiler-rt/cmake/builtin-config-ix.cmake
===================================================================
--- compiler-rt/cmake/builtin-config-ix.cmake
+++ compiler-rt/cmake/builtin-config-ix.cmake
@@ -71,6 +71,7 @@
 if(APPLE)
 
   find_darwin_sdk_dir(DARWIN_osx_SYSROOT macosx)
+  find_darwin_sdk_dir(DARWIN_catalyst_SYSROOT macosx)
   find_darwin_sdk_dir(DARWIN_iossim_SYSROOT iphonesimulator)
   find_darwin_sdk_dir(DARWIN_ios_SYSROOT iphoneos)
   find_darwin_sdk_dir(DARWIN_watchossim_SYSROOT watchsimulator)
@@ -116,6 +117,13 @@
       ${DARWIN_ios_MIN_VER_FLAG}=${DARWIN_ios_BUILTIN_MIN_VER})
     set(DARWIN_ios_BUILTIN_ALL_POSSIBLE_ARCHS ${ARM64} ${ARM32})
     set(DARWIN_iossim_BUILTIN_ALL_POSSIBLE_ARCHS ${X86} ${X86_64} arm64)
+    list(APPEND DARWIN_EMBEDDED_PLATFORMS catalyst)
+    set(DARWIN_catalyst_BUILTIN_MIN_VER 13.0)
+    set(DARWIN_catalyst_BUILTIN_MIN_VER_FLAG
+        ${DARWIN_ios_MIN_VER_FLAG}=${DARWIN_catalyst_BUILTIN_MIN_VER}
+        -target
+        ${LIB_ARCH}-apple-ios${DARWIN_catalyst_BUILTIN_MIN_VER}-macabi)
+    set(DARWIN_catalyst_BUILTIN_ALL_POSSIBLE_ARCHS ${X86_64} ${ARM64})
   endif()
   if(COMPILER_RT_ENABLE_WATCHOS)
     list(APPEND DARWIN_EMBEDDED_PLATFORMS watchos)
@@ -178,6 +186,10 @@
       endforeach()
     endif()
 
+    if("${platform}" STREQUAL "catalyst")
+      set(DARWIN_${platform}_SKIP_CC_KEXT On)
+    endif()
+
     if(DARWIN_${platform}_SYSROOT)
       darwin_test_archs(${platform}
         DARWIN_${platform}_BUILTIN_ARCHS
Index: clang/test/Driver/darwin-sanitizer-ld.c
===================================================================
--- clang/test/Driver/darwin-sanitizer-ld.c
+++ clang/test/Driver/darwin-sanitizer-ld.c
@@ -101,7 +101,7 @@
 // CHECK-ASAN-MACCATALYST: "{{.*}}ld{{(.exe)?}}"
 // CHECK-ASAN-MACCATALYST-NOT: "-lstdc++"
 // CHECK-ASAN-MACCATALYST-NOT: "-lc++"
-// CHECK-ASAN-MACCATALYST: libclang_rt.asan_osx_dynamic.dylib"
+// CHECK-ASAN-MACCATALYST: libclang_rt.asan_catalyst_dynamic.dylib"
 // CHECK-ASAN-MACCATALYST: "-rpath" "@executable_path"
 // CHECK-ASAN-MACCATALYST: "-rpath" "{{.*}}lib{{.*}}darwin"
 
Index: clang/lib/Driver/ToolChains/Darwin.cpp
===================================================================
--- clang/lib/Driver/ToolChains/Darwin.cpp
+++ clang/lib/Driver/ToolChains/Darwin.cpp
@@ -1219,7 +1219,7 @@
     return "osx";
   case DarwinPlatformKind::IPhoneOS:
     if (TargetEnvironment == MacCatalyst)
-      return "osx";
+      return "catalyst";
     return TargetEnvironment == NativeEnvironment || IgnoreSim ? "ios"
                                                                : "iossim";
   case DarwinPlatformKind::TvOS:
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to