Fixed visibility problem on ios_arm64
This commit is contained in:
+2
-1
@@ -68,7 +68,8 @@ private fun linkAllDependencies(context: Context, generatedBitcodeFiles: List<St
|
|||||||
|
|
||||||
val bitcodeLibraries = context.llvm.bitcodeToLink.map { it.bitcodePaths }.flatten().filter { it.isBitcode }
|
val bitcodeLibraries = context.llvm.bitcodeToLink.map { it.bitcodePaths }.flatten().filter { it.isBitcode }
|
||||||
val additionalBitcodeFilesToLink = context.llvm.additionalProducedBitcodeFiles
|
val additionalBitcodeFilesToLink = context.llvm.additionalProducedBitcodeFiles
|
||||||
val bitcodeFiles = (nativeLibraries + generatedBitcodeFiles + additionalBitcodeFilesToLink + bitcodeLibraries).toSet()
|
val exceptionsSupportNativeLibrary = config.exceptionsSupportNativeLibrary
|
||||||
|
val bitcodeFiles = (nativeLibraries + exceptionsSupportNativeLibrary + generatedBitcodeFiles + additionalBitcodeFilesToLink + bitcodeLibraries).toSet()
|
||||||
|
|
||||||
val llvmModule = context.llvmModule!!
|
val llvmModule = context.llvmModule!!
|
||||||
bitcodeFiles.forEach {
|
bitcodeFiles.forEach {
|
||||||
|
|||||||
+3
@@ -127,6 +127,9 @@ class KonanConfig(val project: Project, val configuration: CompilerConfiguration
|
|||||||
internal val objCNativeLibrary: String =
|
internal val objCNativeLibrary: String =
|
||||||
File(distribution.defaultNatives(target)).child("objc.bc").absolutePath
|
File(distribution.defaultNatives(target)).child("objc.bc").absolutePath
|
||||||
|
|
||||||
|
internal val exceptionsSupportNativeLibrary: String =
|
||||||
|
File(distribution.defaultNatives(target)).child("exceptionsSupport.bc").absolutePath
|
||||||
|
|
||||||
internal val nativeLibraries: List<String> =
|
internal val nativeLibraries: List<String> =
|
||||||
configuration.getList(KonanConfigKeys.NATIVE_LIBRARY_FILES)
|
configuration.getList(KonanConfigKeys.NATIVE_LIBRARY_FILES)
|
||||||
|
|
||||||
|
|||||||
@@ -23,6 +23,7 @@ targetList.each { targetName ->
|
|||||||
dependsOn "${targetName}Relaxed"
|
dependsOn "${targetName}Relaxed"
|
||||||
dependsOn "${targetName}ProfileRuntime"
|
dependsOn "${targetName}ProfileRuntime"
|
||||||
dependsOn "${targetName}ObjC"
|
dependsOn "${targetName}ObjC"
|
||||||
|
dependsOn "${targetName}ExceptionsSupport"
|
||||||
target targetName
|
target targetName
|
||||||
includeRuntime(delegate)
|
includeRuntime(delegate)
|
||||||
linkerArgs project.file("../common/build/$targetName/hash.bc").path
|
linkerArgs project.file("../common/build/$targetName/hash.bc").path
|
||||||
@@ -42,6 +43,13 @@ targetList.each { targetName ->
|
|||||||
includeRuntime(delegate)
|
includeRuntime(delegate)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
task ("${targetName}ExceptionsSupport", type: CompileCppToBitcode) {
|
||||||
|
name "exceptionsSupport"
|
||||||
|
srcRoot file('src/exceptions_support')
|
||||||
|
target targetName
|
||||||
|
includeRuntime(delegate)
|
||||||
|
}
|
||||||
|
|
||||||
task ("${targetName}Release", type: CompileCppToBitcode) {
|
task ("${targetName}Release", type: CompileCppToBitcode) {
|
||||||
name "release"
|
name "release"
|
||||||
srcRoot file('src/release')
|
srcRoot file('src/release')
|
||||||
|
|||||||
@@ -0,0 +1,15 @@
|
|||||||
|
#include "Memory.h"
|
||||||
|
#include "Porting.h"
|
||||||
|
#include <typeinfo>
|
||||||
|
|
||||||
|
#ifndef KONAN_NO_EXCEPTIONS
|
||||||
|
|
||||||
|
std::type_info const* ExceptionObjHolderRTTI;
|
||||||
|
|
||||||
|
// Just some DCE-surviving code referencing RTTI of ExceptionObjHolder.
|
||||||
|
// This is needed during compilation to cache.
|
||||||
|
void referenceExceptionObjHolderRTTI() {
|
||||||
|
ExceptionObjHolderRTTI = &typeid(ExceptionObjHolder);
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
Reference in New Issue
Block a user