From 2c898fe72cc1a60621def1af5d59a63cb157cfa6 Mon Sep 17 00:00:00 2001 From: Alexander Shabalin Date: Tue, 10 Nov 2020 10:36:13 +0300 Subject: [PATCH] Fix install_name for dynamic cache (#4510) --- .../src/org/jetbrains/kotlin/backend/konan/Linker.kt | 2 +- .../src/org/jetbrains/kotlin/backend/konan/OutputFiles.kt | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/Linker.kt b/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/Linker.kt index 1f379002591..e4f5ca41f73 100644 --- a/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/Linker.kt +++ b/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/Linker.kt @@ -114,7 +114,7 @@ internal class Linker(val context: Context) { additionalLinkerArgs = if (target.family.isAppleFamily) { when (context.config.produce) { CompilerOutputKind.DYNAMIC_CACHE -> - listOf("-install_name", context.config.outputFiles.mainFile) + listOf("-install_name", context.config.outputFiles.dynamicCacheInstallName) else -> listOf("-dead_strip") } } else { diff --git a/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/OutputFiles.kt b/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/OutputFiles.kt index e592ffbf9a5..17ab45185c5 100644 --- a/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/OutputFiles.kt +++ b/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/OutputFiles.kt @@ -39,6 +39,10 @@ class OutputFiles(outputPath: String?, target: KonanTarget, val produce: Compile else outputName.fullOutputName() + private val cacheFile = File(outputName.fullOutputName()).absoluteFile.name + + val dynamicCacheInstallName = File(outputName).child(cacheFile).absolutePath + val tempCacheDirectory = if (produce.isCache) File(outputName + Random.nextLong().toString()) @@ -46,7 +50,7 @@ class OutputFiles(outputPath: String?, target: KonanTarget, val produce: Compile val nativeBinaryFile = if (produce.isCache) - tempCacheDirectory!!.child(File(outputName.fullOutputName()).absoluteFile.name).absolutePath + tempCacheDirectory!!.child(cacheFile).absolutePath else mainFile val symbolicInfoFile = "$nativeBinaryFile.dSYM"