[K/N] Allow tsan for static frameworks for iOS
diff --git a/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/KonanConfig.kt b/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/KonanConfig.kt index 3afd488..bd8fab0 100644 --- a/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/KonanConfig.kt +++ b/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/KonanConfig.kt
@@ -97,7 +97,6 @@ when { it != SanitizerKind.THREAD -> "${it.name} sanitizer is not supported yet" produce == CompilerOutputKind.STATIC -> "${it.name} sanitizer is unsupported for static library" - produce == CompilerOutputKind.FRAMEWORK && produceStaticFramework -> "${it.name} sanitizer is unsupported for static framework" it.toObsoleteKind() !in target.supportedSanitizers()-> "${it.name} sanitizer is unsupported on ${target.name}" else -> null }?.let { message ->
diff --git a/native/utils/src/org/jetbrains/kotlin/konan/target/KonanTargetExtenstions.kt b/native/utils/src/org/jetbrains/kotlin/konan/target/KonanTargetExtenstions.kt index 55434d8..9e965a6 100644 --- a/native/utils/src/org/jetbrains/kotlin/konan/target/KonanTargetExtenstions.kt +++ b/native/utils/src/org/jetbrains/kotlin/konan/target/KonanTargetExtenstions.kt
@@ -93,6 +93,9 @@ is KonanTarget.MACOS_ARM64 -> listOf(SanitizerKind.THREAD) // TODO: Enable ASAN on macOS. Currently there's an incompatibility between clang frontend version and clang_rt.asan version. // TODO: Consider supporting mingw. + is KonanTarget.IOS_ARM64 -> listOf(SanitizerKind.THREAD) + is KonanTarget.IOS_X64 -> listOf(SanitizerKind.THREAD) + is KonanTarget.IOS_SIMULATOR_ARM64 -> listOf(SanitizerKind.THREAD) else -> listOf() }
diff --git a/native/utils/src/org/jetbrains/kotlin/konan/target/Linker.kt b/native/utils/src/org/jetbrains/kotlin/konan/target/Linker.kt index aba9194..7e101da 100644 --- a/native/utils/src/org/jetbrains/kotlin/konan/target/Linker.kt +++ b/native/utils/src/org/jetbrains/kotlin/konan/target/Linker.kt
@@ -255,9 +255,6 @@ } if (kind == LinkerOutputKind.STATIC_LIBRARY) { - require(sanitizer == null) { - "Sanitizers are unsupported" - } return listOf(Command(libtool).apply { +"-static" +listOf("-o", executable)