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