| Index: runtime/bin/extensions_fuchsia.cc
|
| diff --git a/runtime/bin/extensions_fuchsia.cc b/runtime/bin/extensions_fuchsia.cc
|
| index a954207e03e9ae1648c1d4529e47eacad69a80ca..09c7484eeb59db302945932a3a95f49d4e6420c8 100644
|
| --- a/runtime/bin/extensions_fuchsia.cc
|
| +++ b/runtime/bin/extensions_fuchsia.cc
|
| @@ -6,7 +6,10 @@
|
| #if defined(HOST_OS_FUCHSIA)
|
|
|
| #include "bin/extensions.h"
|
| -#include <dlfcn.h> // NOLINT
|
| +
|
| +#include <dlfcn.h>
|
| +#include <launchpad/vmo.h>
|
| +#include <magenta/dlfcn.h>
|
|
|
| #include "platform/assert.h"
|
|
|
| @@ -20,7 +23,11 @@ const char* kIsolateSnapshotInstructionsSymbolName =
|
| "_kDartIsolateSnapshotInstructions";
|
|
|
| void* Extensions::LoadExtensionLibrary(const char* library_file) {
|
| - return dlopen(library_file, RTLD_LAZY);
|
| + mx_handle_t vmo = launchpad_vmo_from_file(library_file);
|
| + if (vmo <= 0) {
|
| + return NULL;
|
| + }
|
| + return dlopen_vmo(vmo, RTLD_LAZY);
|
| }
|
|
|
|
|
|
|