diff --git a/runtime/internal/clite/ffi/_wrap/libffi.c b/runtime/internal/clite/ffi/_wrap/libffi.cpp similarity index 87% rename from runtime/internal/clite/ffi/_wrap/libffi.c rename to runtime/internal/clite/ffi/_wrap/libffi.cpp index 53fa1c70..59b4cfd8 100644 --- a/runtime/internal/clite/ffi/_wrap/libffi.c +++ b/runtime/internal/clite/ffi/_wrap/libffi.cpp @@ -1,5 +1,9 @@ #include +extern "C" { + void *llog_ffi_closure_alloc(void **code) { return ffi_closure_alloc(sizeof(ffi_closure), code); } + +} diff --git a/runtime/internal/clite/ffi/ffi_other.go b/runtime/internal/clite/ffi/ffi_other.go index 6953dfdc..06fef2f3 100644 --- a/runtime/internal/clite/ffi/ffi_other.go +++ b/runtime/internal/clite/ffi/ffi_other.go @@ -10,7 +10,7 @@ import ( const ( LLGoPackage = "link: $(pkg-config --libs libffi); -lffi" - LLGoFiles = "$(pkg-config --cflags libffi): _wrap/libffi.c" + LLGoFiles = "$(pkg-config --cflags libffi): _wrap/libffi.cpp" ) /* diff --git a/runtime/internal/clite/libuv/_wrap/libuv.c b/runtime/internal/clite/libuv/_wrap/libuv.cpp similarity index 82% rename from runtime/internal/clite/libuv/_wrap/libuv.c rename to runtime/internal/clite/libuv/_wrap/libuv.cpp index d3d51448..30114341 100644 --- a/runtime/internal/clite/libuv/_wrap/libuv.c +++ b/runtime/internal/clite/libuv/_wrap/libuv.cpp @@ -1,5 +1,9 @@ #include +extern "C" { + int uv_tcp_get_io_watcher_fd (uv_tcp_t* handle) { return handle->io_watcher.fd; -} \ No newline at end of file +} + +} diff --git a/runtime/internal/clite/libuv/libuv.go b/runtime/internal/clite/libuv/libuv.go index b781f1b5..b9dd6424 100644 --- a/runtime/internal/clite/libuv/libuv.go +++ b/runtime/internal/clite/libuv/libuv.go @@ -9,7 +9,7 @@ import ( const ( LLGoPackage = "link: $(pkg-config --libs libuv); -luv" - LLGoFiles = "$(pkg-config --cflags libuv): _wrap/libuv.c" + LLGoFiles = "$(pkg-config --cflags libuv): _wrap/libuv.cpp" ) // ---------------------------------------------- diff --git a/runtime/internal/clite/openssl/_wrap/openssl.c b/runtime/internal/clite/openssl/_wrap/openssl.cpp similarity index 84% rename from runtime/internal/clite/openssl/_wrap/openssl.c rename to runtime/internal/clite/openssl/_wrap/openssl.cpp index 7cc5bbdb..8d7c8680 100644 --- a/runtime/internal/clite/openssl/_wrap/openssl.c +++ b/runtime/internal/clite/openssl/_wrap/openssl.cpp @@ -1,5 +1,9 @@ #include +extern "C" { + void opensslFree(void *ptr) { OPENSSL_free(ptr); } + +} \ No newline at end of file diff --git a/runtime/internal/clite/openssl/openssl.go b/runtime/internal/clite/openssl/openssl.go index df237c85..8bca7d28 100644 --- a/runtime/internal/clite/openssl/openssl.go +++ b/runtime/internal/clite/openssl/openssl.go @@ -25,7 +25,7 @@ import ( // ----------------------------------------------------------------------------- const ( - LLGoFiles = "$(pkg-config --cflags openssl): _wrap/openssl.c" + LLGoFiles = "$(pkg-config --cflags openssl): _wrap/openssl.cpp" LLGoPackage = "link: $(pkg-config --libs openssl); -lssl -lcrypto" ) diff --git a/runtime/internal/lib/internal/cpu/_wrap/cpu_x86.c b/runtime/internal/lib/internal/cpu/_wrap/cpu_x86.cpp similarity index 97% rename from runtime/internal/lib/internal/cpu/_wrap/cpu_x86.c rename to runtime/internal/lib/internal/cpu/_wrap/cpu_x86.cpp index 3756ee17..1305c86c 100644 --- a/runtime/internal/lib/internal/cpu/_wrap/cpu_x86.c +++ b/runtime/internal/lib/internal/cpu/_wrap/cpu_x86.cpp @@ -1,3 +1,6 @@ + +extern "C" { + #if defined(__GNUC__) || defined(__clang__) void llgo_getcpuid(unsigned int eax, unsigned int ecx, unsigned int *a, unsigned int *b, @@ -19,3 +22,5 @@ void llgo_getcpuid(unsigned int eax, unsigned int ecx, #else #error This code requires GCC or Clang #endif + +} \ No newline at end of file diff --git a/runtime/internal/lib/internal/cpu/cpu_x86.go b/runtime/internal/lib/internal/cpu/cpu_x86.go index 46022c42..47374b9e 100644 --- a/runtime/internal/lib/internal/cpu/cpu_x86.go +++ b/runtime/internal/lib/internal/cpu/cpu_x86.go @@ -10,7 +10,7 @@ import ( const ( LLGoPackage = "link" - LLGoFiles = "_wrap/cpu_x86.c" + LLGoFiles = "_wrap/cpu_x86.cpp" ) //go:linkname c_getcpuid C.llgo_getcpuid