From 80e39cb7c9526553c3dad1f3fc4dc1575649178a Mon Sep 17 00:00:00 2001 From: Alexander Gorshenev Date: Thu, 1 Dec 2016 17:21:00 +0300 Subject: [PATCH] Eliminated mangled name resolution for Kotlin_start. Made Kotlin_start private in order to not pollute the namespace of the default package. --- runtime/src/launcher/cpp/launcher.cpp | 8 ++------ runtime/src/launcher/kotlin/konan/start.kt | 4 +++- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/runtime/src/launcher/cpp/launcher.cpp b/runtime/src/launcher/cpp/launcher.cpp index bd32b1b58ec..7c03f21448a 100644 --- a/runtime/src/launcher/cpp/launcher.cpp +++ b/runtime/src/launcher/cpp/launcher.cpp @@ -15,18 +15,14 @@ ArrayHeader* setupArgs(int argc, char** argv) { return args; } -#ifdef __linux__ -extern "C" void konanStart(void*) asm("kfun:start(Array)"); -#else -extern "C" void konanStart(void*) asm("_kfun:start(Array)"); -#endif +extern "C" void Kotlin_start(ArrayHeader* ); int main(int argc, char** argv) { InitMemory(); ArrayHeader* args = setupArgs(argc, argv); - konanStart(args); + Kotlin_start(args); // Yes, we have to follow Java convention and return zero. return 0; diff --git a/runtime/src/launcher/kotlin/konan/start.kt b/runtime/src/launcher/kotlin/konan/start.kt index 09e8e7574ff..b4d81df93eb 100644 --- a/runtime/src/launcher/kotlin/konan/start.kt +++ b/runtime/src/launcher/kotlin/konan/start.kt @@ -1,7 +1,9 @@ +import konan.internal.ExportForCppRuntime external fun main(args: Array) -fun start(args: Array) { +@ExportForCppRuntime +private fun Kotlin_start(args: Array) { try { // This is kotlin program main entry point