From 6cb344de077f3817969d42fe8840b83642fae344 Mon Sep 17 00:00:00 2001 From: Svyatoslav Scherbina Date: Thu, 15 Sep 2016 16:06:41 +0300 Subject: [PATCH] experiments/Interop: add workaround to lookup symbols lazily --- experiments/Interop/Example/src/llvm/LLVM.def | 33 +------------------ .../kotlin/native/interop/gen/jvm/main.kt | 4 ++- 2 files changed, 4 insertions(+), 33 deletions(-) diff --git a/experiments/Interop/Example/src/llvm/LLVM.def b/experiments/Interop/Example/src/llvm/LLVM.def index 306e554807b..071f47cf721 100644 --- a/experiments/Interop/Example/src/llvm/LLVM.def +++ b/experiments/Interop/Example/src/llvm/LLVM.def @@ -26,35 +26,4 @@ linkerOpts = -stdlib=libc++ -fPIC -fvisibility-inlines-hidden \ -lLLVMBitReader -lLLVMMC -lLLVMCore -lLLVMSupport -lcurses -lpthread -lz -lm \ -L/usr/local/Cellar/libffi/3.0.13/lib -lffi -excludedFunctions = \ - LLVMInitializeAMDGPUAsmParser \ - LLVMInitializeAMDGPUAsmPrinter \ - LLVMInitializeAMDGPUTarget \ - LLVMInitializeAMDGPUTargetInfo \ - LLVMInitializeAMDGPUTargetMC \ - LLVMInitializeARMAsmParser \ - LLVMInitializeARMAsmPrinter \ - LLVMInitializeARMDisassembler \ - LLVMInitializeARMTarget \ - LLVMInitializeARMTargetInfo \ - LLVMInitializeARMTargetMC \ - LLVMInitializeNVPTXAsmPrinter \ - LLVMInitializeNVPTXTarget \ - LLVMInitializeNVPTXTargetInfo \ - LLVMInitializeNVPTXTargetMC \ - LLVMLinkInMCJIT \ - LLVMInitializeAllAsmParsers \ - LLVMInitializeAllAsmPrinters \ - LLVMInitializeAllTargets \ - LLVMInitializeAllTargetInfos \ - LLVMInitializeAllTargetMCs \ - LLVMInitializeAllAsmParsers \ - LLVMInitializeAllAsmPrinters \ - LLVMInitializeAllDisassemblers \ - LLVMInitializeAllTargets \ - LLVMInitializeAllTargetInfos \ - LLVMInitializeAllTargetMCs \ - LLVMInitializeAllAsmPrinters \ - LLVMInitializeAllTargets \ - LLVMInitializeAllTargetInfos \ - LLVMInitializeAllTargetMCs \ No newline at end of file +excludedFunctions = \ No newline at end of file diff --git a/experiments/Interop/StubGenerator/src/org/jetbrains/kotlin/native/interop/gen/jvm/main.kt b/experiments/Interop/StubGenerator/src/org/jetbrains/kotlin/native/interop/gen/jvm/main.kt index dc942d324e9..7573fc10b09 100644 --- a/experiments/Interop/StubGenerator/src/org/jetbrains/kotlin/native/interop/gen/jvm/main.kt +++ b/experiments/Interop/StubGenerator/src/org/jetbrains/kotlin/native/interop/gen/jvm/main.kt @@ -75,7 +75,9 @@ fun main(args: Array) { val outLib = nativeLibsDir + "/" + System.mapLibraryName(libName) - val linkerCmd = arrayOf(linker, *linkerOpts, outOFile.path, "-shared", "-o", outLib) + val linkerCmd = arrayOf(linker, *linkerOpts, outOFile.path, "-shared", "-o", outLib, + "-Wl,-flat_namespace,-undefined,dynamic_lookup") + println(linkerCmd.joinToString(" ")) val linkerRes = ProcessBuilder(*linkerCmd)