[K/N] Don't assume all apple target support CoreSymbolication
This commit is contained in:
+4
-2
@@ -96,7 +96,7 @@ class KonanConfig(val project: Project, val configuration: CompilerConfiguration
|
||||
}
|
||||
val sourceInfoType: SourceInfoType
|
||||
get() = configuration.get(BinaryOptions.sourceInfoType)
|
||||
?: SourceInfoType.CORESYMBOLICATION.takeIf { debug && target.family.isAppleFamily }
|
||||
?: SourceInfoType.CORESYMBOLICATION.takeIf { debug && target.supportsCoreSymbolication() }
|
||||
?: SourceInfoType.NOOP
|
||||
|
||||
|
||||
@@ -227,7 +227,9 @@ class KonanConfig(val project: Project, val configuration: CompilerConfiguration
|
||||
}
|
||||
}
|
||||
if (shouldCoverLibraries || shouldCoverSources) add("profileRuntime.bc")
|
||||
add("source_info_core_symbolication.bc")
|
||||
if (target.supportsCoreSymbolication()) {
|
||||
add("source_info_core_symbolication.bc")
|
||||
}
|
||||
if (target.supportsLibBacktrace()) {
|
||||
add("source_info_libbacktrace.bc")
|
||||
add("libbacktrace.bc")
|
||||
|
||||
@@ -2669,19 +2669,19 @@ task extend_exception(type: KonanLocalTest) {
|
||||
}
|
||||
|
||||
standaloneTest("check_stacktrace_format") {
|
||||
disabled = !isAppleTarget(project) || project.globalTestArgs.contains('-opt')
|
||||
disabled = !supportsCoreSymbolication(project) || project.globalTestArgs.contains('-opt')
|
||||
flags = ['-g']
|
||||
source = "runtime/exceptions/check_stacktrace_format.kt"
|
||||
}
|
||||
|
||||
standaloneTest("check_stacktrace_format_coresymbolication") {
|
||||
disabled = !isAppleTarget(project) || project.globalTestArgs.contains('-opt')
|
||||
disabled = !supportsCoreSymbolication(project) || project.globalTestArgs.contains('-opt')
|
||||
flags = ['-g', '-Xbinary=sourceInfoType=coresymbolication']
|
||||
source = "runtime/exceptions/check_stacktrace_format.kt"
|
||||
}
|
||||
|
||||
standaloneTest("stack_trace_inline") {
|
||||
disabled = !isAppleTarget(project) || project.globalTestArgs.contains('-opt')
|
||||
disabled = !supportsCoreSymbolication(project) || project.globalTestArgs.contains('-opt')
|
||||
flags = ['-g', '-Xg-generate-debug-trampoline=enable', '-Xbinary=sourceInfoType=coresymbolication']
|
||||
source = "runtime/exceptions/stack_trace_inline.kt"
|
||||
// test on simulator is writing Invalid connection: com.apple.coresymbolicationd by unknown reason
|
||||
@@ -2690,14 +2690,13 @@ standaloneTest("stack_trace_inline") {
|
||||
}
|
||||
|
||||
standaloneTest("stack_trace_out_of_bounds") {
|
||||
disabled = !isAppleTarget(project) || project.globalTestArgs.contains('-opt') || (project.testTarget == 'ios_arm64')
|
||||
disabled = !supportsCoreSymbolication(project) || project.globalTestArgs.contains('-opt') || (project.testTarget == 'ios_arm64')
|
||||
flags = ['-g', '-Xg-generate-debug-trampoline=enable', '-Xbinary=stripDebugInfoFromNativeLibs=false']
|
||||
source = "runtime/exceptions/stack_trace_out_of_bounds.kt"
|
||||
}
|
||||
|
||||
|
||||
standaloneTest("kt-37572") {
|
||||
disabled = !isAppleTarget(project) || project.globalTestArgs.contains('-opt')
|
||||
disabled = !supportsCoreSymbolication(project) || project.globalTestArgs.contains('-opt')
|
||||
flags = ['-g', '-Xbinary=sourceInfoType=coresymbolication']
|
||||
source = "runtime/exceptions/kt-37572.kt"
|
||||
// test on simulator is writing Invalid connection: com.apple.coresymbolicationd by unknown reason
|
||||
|
||||
@@ -42,6 +42,11 @@ object PlatformInfo {
|
||||
return getTarget(project).supportsLibBacktrace()
|
||||
}
|
||||
|
||||
@JvmStatic
|
||||
fun supportsCoreSymbolication(project: Project): Boolean {
|
||||
return getTarget(project).supportsCoreSymbolication()
|
||||
}
|
||||
|
||||
@JvmStatic
|
||||
fun checkXcodeVersion(project: Project) {
|
||||
val properties = PropertiesProvider(project)
|
||||
|
||||
@@ -328,6 +328,9 @@ fun targetSupportsMimallocAllocator(targetName: String) =
|
||||
fun targetSupportsLibBacktrace(targetName: String) =
|
||||
HostManager().targetByName(targetName).supportsLibBacktrace()
|
||||
|
||||
fun targetSupportsCoreSymbolication(targetName: String) =
|
||||
HostManager().targetByName(targetName).supportsCoreSymbolication()
|
||||
|
||||
|
||||
fun Project.mergeManifestsByTargets(source: File, destination: File) {
|
||||
logger.info("Merging manifests: $source -> $destination")
|
||||
|
||||
@@ -122,6 +122,7 @@ bitcode {
|
||||
|
||||
create("source_info_core_symbolication", file("src/source_info/core_symbolication")) {
|
||||
includeRuntime()
|
||||
onlyIf { targetSupportsCoreSymbolication(target) }
|
||||
}
|
||||
create("source_info_libbacktrace", file("src/source_info/libbacktrace")) {
|
||||
includeRuntime()
|
||||
|
||||
+4
@@ -31,6 +31,10 @@ fun KonanTarget.supportsMimallocAllocator(): Boolean =
|
||||
fun KonanTarget.supportsLibBacktrace(): Boolean =
|
||||
this.family.isAppleFamily || this.family == Family.LINUX || this.family == Family.ANDROID
|
||||
|
||||
fun KonanTarget.supportsCoreSymbolication(): Boolean =
|
||||
this.family.isAppleFamily
|
||||
|
||||
|
||||
fun KonanTarget.supportsThreads(): Boolean =
|
||||
when(this) {
|
||||
is KonanTarget.WASM32 -> false
|
||||
|
||||
Reference in New Issue
Block a user